jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Reutegger <marcel.reuteg...@gmx.net>
Subject Re: permgen error with jackrabbit 1.1
Date Tue, 24 Oct 2006 08:23:47 GMT
Hi Torgeir,

There is a java.util.Timer deamon thread running in the background that prevents 
tomcat from garbage collecting the classes. I've created a jira issue:
http://issues.apache.org/jira/browse/JCR-600

I've however reproduced the issue a bit different. I deployed the 
jackrabbit-server.war in tomcat and then touched the web.xml file several times. 
After a while the JVM goes out of memory.

regards
  marcel

Torgeir Veimo wrote:
> I'm getting out of permgen space with jackrabbit running under tomcat 
> when the webapp has been reloaded enough times.
> 
> I've been trying to find the problem using jconsole, and it appears if I 
> do a session.login(); and session.logout(), then a good number of 
> classes will not be unloaded after the webapp has been reloaded. I'm 
> using TransientRepository and the following repository.xml file:
> 
> <Repository>
>     <FileSystem 
> class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>         <param name="path" value="${rep.home}/repository"/>
>     </FileSystem>
>     <Security appName="Jackrabbit">
>         <AccessManager 
> class="org.apache.jackrabbit.core.security.SimpleAccessManager"/>
>         <LoginModule 
> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>            <!-- anonymous user name ('anonymous' is the default value) -->
>            <param name="anonymousId" value="anonymous"/>
>         </LoginModule>
>     </Security>
>     <Workspaces rootPath="${rep.home}/workspaces" 
> defaultWorkspace="default" />
>     <Workspace name="${wsp.name}">
>         <FileSystem 
> class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>             <param name="path" value="${wsp.home}"/>
>         </FileSystem>
>         <PersistenceManager 
> class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager" />
>         <SearchIndex 
> class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>             <param name="path" value="${wsp.home}/index"/>
>             <param name="autoRepair" value="true"/>
>             <param name="analyzer" 
> value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
>             <param name="textFilterClasses"
>                 
> value="org.apache.jackrabbit.core.query.HTMLTextFilter,org.apache.jackrabbit.core.query.XMLTextFilter"/>

> 
>         </SearchIndex>
>     </Workspace>
>     <Versioning rootPath="${rep.home}/versions">
>         <FileSystem 
> class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>             <param name="path" value="${rep.home}/versions"/>
>         </FileSystem>
>         <PersistenceManager 
> class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager" />
>     </Versioning>
> </Repository>
> 
> The code that is running and using Jackrabbit is limited to this:
> 
> String rootDirectory = (String) 
> ConfigManager.getEnvironmentEntry("jackrabbit/directory");
> String configFile = (String) 
> ConfigManager.getEnvironmentEntry("jackrabbit/configfile");
> 
> URL url = event.getServletContext().getResource(configFile);
> InputStream repositoryXml = 
> event.getServletContext().getResourceAsStream(configFile);
> RepositoryConfig config = RepositoryConfig.create(repositoryXml, 
> rootDirectory);
> repository = new TransientRepository(config);
> 
> Session session = repository.login();
> session.logout();
> 
> 
> --Torgeir Veimo
> torgeir@pobox.com
> 
> 
> 
> 

Mime
View raw message