Migrate to Java 24+ compatible security APIs and add Java 25 to CI (#8456)
- Replace Subject.doAs(), Subject.getSubject(AccessControlContext), AccessController.getContext(), and System.getSecurityManager() — all
removed in Java 24 with runtime-dispatched compatibility shims that
work on Java 17 through 25+.
- Introduce SubjectCompat utility with MethodHandle-based dispatch:
currentSubject() maps to Subject.current() (18+) or
Subject.getSubject(AccessController.getContext()) (17);
doAs() maps to Subject.callAs() (18+) or Subject.doAs() (17).
- Migrate all 12 removed-API call sites across 8 files.
- Consolidate existing ReqContext MethodHandle shim into SubjectCompat.
- Remove dead SecurityManager code in NettyRenameThreadFactory.
- Add Java 25 to the GitHub Actions CI matrix.
12 files changed