Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
None
-
Platform Sprint 142
Description
In org.hippoecm.hst.core.jcr.pool.JcrHippoRepository#initHippoRepository, when the repositoryURI is empty (in unit tests the case), the code
if (StringUtils.isEmpty(repositoryURI)) {
hippoRepository = HippoRepositoryFactory.getHippoRepository();
}
throws an exception when another thread already invoked
HippoRepositoryFactory.getHippoRepository()
before. This can happen because there is the pooling repositories that trigger org.hippoecm.hst.core.jcr.pool.JcrHippoRepository#initHippoRepository (for example from hst event listeners) but also the 'delegating' repository triggers org.hippoecm.hst.core.jcr.pool.JcrHippoRepository#initHippoRepository : However, the delegating repositories (id="javax.jcr.Repository.delegating") use a different backing JcrHippoRepository instance than the pooling repositories.