Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
18.0.1.Final, 19.0.0.Final
-
None
Description
We are using managed-thread-factory and Threads belong to this do not have context class loader associated with it
<managed-thread-factories> <managed-thread-factory name="FlowWorkManagerThreadFactory" jndi-name="java:jboss/ee/concurrency/factory/FlowWorkManagerThreadFactory" context-service="default"/> </managed-thread-factories> <managed-executor-services> <managed-executor-service name="InteractiveWorkflowWorkManagerExecutorService" jndi-name="java:jboss/ee/concurrency/executor/FLOW_MANAGEDEXECUTOR" core-threads="${threadpool.interactiveWorkflow.minthread}" max-threads="${threadpool.interactiveWorkflow.maxthread}" keepalive-time="5000" queue-length="${threadpool.interactiveWorkflow.queuesize}" thread-factory="FlowWorkManagerThreadFactory" hung-task-threshold="600000" /> </managed-executor-services>
classLoader variable in below code
final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
evaluates as null when called inside managed thread.
Same code works fine with Wildfly 16 and Wildfly 17.0.1
In 16 and 17.0.1 The class loader is from Service module loader.
Server logs with org.jboss.as.ee in TRACE level for Wildfly 16, 17.0.1 and 18 are attached.