Details
-
Improvement
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
2.04.01
-
None
-
None
Description
Currently, when somebody impersonates to a different jcr session, he needs to logout the session himself if the session credentials do not belong to some session pool from BasicPoolingRepository.
If the sesssion was from BasicPoolingRepository, then during disposeAllResources(), even impersonated sessions will be returned to the session pool if they weren't logged out manually.
We can implement the same disposeAllResources() logic, with impersonated session tied to a thread local for MultipleRepositoryImpl: Then, during clean up, when we find a jcr session returning true for: session.isLive(), we know it is not logged out. Then, we can log it out during disposeAllResources()