Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.17.0, 1.16.1, 1.16.2, 1.16.3
-
None
Description
If run with Java 9+, the AllowListClassLoader that is used by NiFi Stateless requires that the JDK be in use, not just a JRE. This is because it looks for presence of .jar and .jmod files in the $JAVA_HOME directory but the jmod files are only present in the JDK.
When attempting to load a class, if it's not in the Allowed List, it should check the class's module and allow through anything in the java. and jdk. modules. This allows a more compatible way of detecting that a given class is part of Java and therefore needs to be made available, versus a part of the third party application that is calling Stateless.