jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting" <jukka.zitt...@gmail.com>
Subject Re: Shutdown Hangs
Date Fri, 07 Mar 2008 17:01:02 GMT

On Fri, Mar 7, 2008 at 6:35 PM, Simon Jentzsch <simonjentzsch@yahoo.de> wrote:
>  When shutting down Spring  calls the "shutdown()"-Method, which aquires
>  the lock and then closes all sessions. But when the last session will be
>  closed, it will call the shutdown-method again [5], but this time he is
>  waiting for the lock.

This is incorrect, the TransientRepository.shutdown() method newer
directly calls RepositoryImpl.shutdown().

The problem can be traced back to the TransientRepositoryFactoryBean:

>   [11] org.apache.jackrabbit.core.RepositoryImpl.shutdown
>  (RepositoryImpl.java:948)
>   [12]
>  org.springmodules.jcr.jackrabbit.TransientRepositoryFactoryBean.destroy
>  (TransientRepositoryFactoryBean.java:67)

It should not be possible for TransientRepositoryFactoryBean to
directly invoke methods in RepositoryImpl, bypassing the
TransientRepository class.

I looked deeper into this, and it seems that in an earlier version of
TransientRepositoryFactoryBean [1] this was done using reflection to
reach into the internals of the TransientRepository instance. It seems
like this was fixed recently [2], and as far as the CVS tags are
correct the fix should be in Spring Modules 0.9 that was released ...

[1] https://springmodules.dev.java.net/source/browse/springmodules/projects/jcr/src/java/org/springmodules/jcr/jackrabbit/TransientRepositoryFactoryBean.java?hideattic=0&rev=1.1&view=markup
[2] https://springmodules.dev.java.net/source/browse/springmodules/projects/jcr/src/java/org/springmodules/jcr/jackrabbit/TransientRepositoryFactoryBean.java?hideattic=0&rev=1.2&r1=1.1&r2=1.2


Jukka Zitting

View raw message