[JBoss JIRA] Created: (EJBTHREE-848) ClusteredStatefulCacheListener should be a singleton
by Brian Stansberry (JIRA)
ClusteredStatefulCacheListener should be a singleton
----------------------------------------------------
Key: EJBTHREE-848
URL: http://jira.jboss.com/jira/browse/EJBTHREE-848
Project: EJB 3.0
Issue Type: Task
Components: Clustering
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Priority: Minor
Fix For: EJB 3.0 RC11 - FD
Currently, each SFSB Container registers an instance of ClusteredStatefulCacheListener with the SFSB cache. This is inefficient if there are many containers, as each gets passivation/activation callbacks and has to filter for the ones it's interested in. The callbacks don't do anything container-specific, so it should be possible to use a quasi-singleton ClusteredStatefulCacheListener and eliminate the filtering.
Quasi-singleton, because it's possible to have multiple SFSB caches; need one listener per cache.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 9 months
[JBoss JIRA] Created: (JBAS-5300) ClassLoader leaks in TimedCachePolicy through JAAS Auth Cache
by Arto Huusko (JIRA)
ClassLoader leaks in TimedCachePolicy through JAAS Auth Cache
-------------------------------------------------------------
Key: JBAS-5300
URL: http://jira.jboss.com/jira/browse/JBAS-5300
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: ClassLoading
Affects Versions: JBossAS-4.2.1.GA
Environment: JDK 1.6.0_04
Reporter: Arto Huusko
Assigned To: Scott M Stark
JAAS authentication cache is responsible for two classloader leaks through org.jboss.utils.TimedCachePolicy, causing classes of undeployed applications not be unloaded. The second is not a huge problem, but still real, and is related to JBAS-3986.
First problem is the creation of resolutionTimer. If TimedCachePolicy is used for the first time when my web application is accessed, the resolutionTimer object is created in the context of the web app, and the timer thread attached to the timer inherits the current context class loader, that is my web app's class loader. This results in a permanent reference to that class loader, and it can never be unloaded.
The second problem is the fact that the expired entries are purged from the cache only when they are accessed. If some credentials are once used, and then never used again, they remain in the cache, and these cached LoginContexts contain references to the web app class loaders.
First problem is fixable by temporarily changing current thread context class loader when first creating the resolutionTimer.
The second problem could be fixed by JBoss automatically flushing the authentication cache when the web app is undeployed.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 9 months