-
Bug
-
Resolution: Done
-
Major
-
JBossAS-5.0.0.Beta4
-
None
Application threads carrying messages down can end up creating pool threads in the various JGroups thread pools, and will leak their TCCL to the pool thread.
Immediate solution is to have the AS channel factory inject specialized thread pools into the channels it creates. Specialized thread pool will ensure TCCL leaks don't occur, using the same basic approach as was used for JBCOMMON-41.
We'll see whether JGroups can add the ability to handle this itself.
Also need to ensure that the default domain classloader is the TCCLwhenever the AS (including EJB3 and Hibernate) connects a channel. This will prevent leakage of user deployment classloaders to the many JGroups threads created during Channel.connect(). Currently this isn't an issue as all channels are created as part of deployment of core services where the TCCL is the default domain loader. But, this will become an issue as we switch to lazy-initializing JBoss Cache instances as part of deploying user apps.