RFR: 8335896: Source launcher should set TCCL
Christian Stein
cstein at openjdk.org
Tue Jul 9 10:57:42 UTC 2024
Please review this change to set the context class loader of the current thread to the in-memory class loader when the `java` launcher is invoked in source mode. Having the source launcher set the TCCL to the in-memory classloader is benefical for scenarious depending on the TCCL being set to the application-loading loader.
For example, the single-argument taking [`ServiceLoader.load(Class)`](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/ServiceLoader.html#load(java.lang.Class)) method creates "a new service loader for the given service type, using the current thread's [context class loader](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Thread.html#getContextClassLoader())."
-------------
Commit messages:
- JDK-8335896: Source launcher should set TCCL
Changes: https://git.openjdk.org/jdk/pull/20097/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20097&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8335896
Stats: 23 lines in 2 files changed: 22 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/20097.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/20097/head:pull/20097
PR: https://git.openjdk.org/jdk/pull/20097
More information about the compiler-dev
mailing list