Hi, On Fri, Mar 7, 2008 at 6:35 PM, Simon Jentzsch <[EMAIL PROTECTED]> 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 ... yesterday! [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 BR, Jukka Zitting
