jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Torgeir Veimo <torg...@pobox.com>
Subject permgen error with jackrabbit 1.1
Date Wed, 18 Oct 2006 12:56:18 GMT
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.jackra 
bbit.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