[ http://issues.apache.org/jira/browse/JCR-625?page=comments#action_12447841 ] Thomas Mueller commented on JCR-625: ------------------------------------
Starting / stopping the CacheManager thread on demand would probably be a solution, I didn't think about this. The singleton pattern would still not work when using different class loaders. Also, configuring the cache size per repository is not possible. I made a patch to keep the cache managers in the RepositoryImpl. Unfortunately, this means adding it to many constructors. The test case with the jcr-server works now (the unit tests work as well). > Memory is not freed up when jackrabbit-server war is redeployed in tomcat > ------------------------------------------------------------------------- > > Key: JCR-625 > URL: http://issues.apache.org/jira/browse/JCR-625 > Project: Jackrabbit > Issue Type: Bug > Environment: No released version is affected, only trunk: svn > revision 471800. > Reporter: Marcel Reutegger > Priority: Minor > > This bug was introduced with the new CacheManager feature. See JCR-619. > The CacheManager starts a new background thread which optimizes memory > distribution every second accross the various caches. When a jackrabbit > repository is shutdown, this background thread is still running and prevents > the GC from collecting the classloader when jackrabbit is deployed in a web > application. > Steps to reproduce: > 1) build jackrabbit and jcr-server from trunk and deploy into a tomcat > 2) touch the web.xml file of the jcr-server web app (this will force a > redeployment) > After step 2 two things may happen. Either: > - The memory consumption increases because the CacheManager thread is not > shutdown > or > - The CacheManager thread dies unexpectedly with a NullPointerException: > Exception in thread "org.apache.jackrabbit.core.state.CacheManager" > java.lang.NullPointerException > at > org.apache.jackrabbit.core.state.CacheManager.run(CacheManager.java:90) > at java.lang.Thread.run(Unknown Source) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
