Behavior change for the ForkJoinPool common pool class loader

In Java 8 and earlier versions, the class loader for the ForkJoinPool may have been inherited from the parent thread that invoked the ForkJoinPool. The class loader inheritance could lead to potential memory leak issues. Starting with Java 9, the ForkJoinPool class loader no longer inherits the class loader from the calling thread. If your application is running in a multi-threaded environment, you may experience differences in behavior related to your thread context class loader propagation.

This rule is a flag once per application rule. The rule flags applications that call any of the following methods (including calls to subclasses):

Note: This behavior change only applies if you did not already arrange for propagation of the thread context class loader, such as by MicroProfile Context Propagation, Jakarta/Java EE Concurrency, or other application-specific means.

For more information on Java SE 9 changes, see Java 9 release notes.