jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roman Puchkovskiy (JIRA)" <j...@apache.org>
Subject [jira] Created: (JCR-1668) After RepositoryImpl instance has been created and shut down, some classes cannot be unloaded
Date Wed, 02 Jul 2008 13:23:45 GMT
After RepositoryImpl instance has been created and shut down, some classes cannot be unloaded

                 Key: JCR-1668
                 URL: https://issues.apache.org/jira/browse/JCR-1668
             Project: Jackrabbit
          Issue Type: Bug
          Components: jackrabbit-core, jackrabbit-jcr-commons
    Affects Versions: commons 1.4.2, 1.4, core 1.4.5
         Environment: windows vista
java version "1.6.0_06"
Jetty 6.1.9
Apache Tomcat 6.0.14
            Reporter: Roman Puchkovskiy
         Attachments: test-undeploy.zip

I've built a simple web-application, which contains one servlet loaded at start-up. In its
init() method an instance of RepositoryImpl() is created, in its destroy() method this instance
is stopped (using shutdown()).
>From the servlet code, only classes in jackrabbit-core, JCR API and Servlet API are referenced.
jackrabbit-core version is 1.4.5, and jackrabbit-jcr-commons version is 1.4.2. Other jackrabbit
libs are all of 1.4 version.

Even if servlet's doGet() method never gets called, when the web-application is redeployed,
all its classes still hang in memory, which produces a memory leak.

init() method is 

    public void init() throws ServletException {
        try {
            RepositoryConfig repoConfig = RepositoryConfig.create(getClass().getResourceAsStream("repository.xml"),
            repo = RepositoryImpl.create(repoConfig);
        } catch (Exception e) {
            throw new ServletException(e);

while destroy() method is

    public void destroy() {

Even when I applied patches from JCR-1636 and added TransientFileFactory.shutdown() call to
destroy() method, nothing has changed.
Tested this in Jetty 6.1.9 and Tomcat 6.0.14.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message