Author: mreutegg
Date: Mon May 31 12:02:54 2010
New Revision: 949724
URL: http://svn.apache.org/viewvc?rev=949724&view=rev
Log:
JCR-2643: Avoid item state reads during Session.logout()
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/WorkspaceImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/WorkspaceImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/WorkspaceImpl.java?rev=949724&r1=949723&r2=949724&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/WorkspaceImpl.java
(original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/WorkspaceImpl.java
Mon May 31 12:02:54 2010
@@ -178,6 +178,9 @@ public class WorkspaceImpl extends Abstr
obsMgr.dispose();
obsMgr = null;
}
+ // remove hierarchy manager as listener to avoid
+ // unnecessary work during stateMgr.dispose()
+ stateMgr.removeListener(hierMgr);
stateMgr.dispose();
}
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java?rev=949724&r1=949723&r2=949724&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java
(original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java
Mon May 31 12:02:54 2010
@@ -337,8 +337,6 @@ public class SessionItemStateManager
removeListener(hierMgr);
// discard all transient changes
disposeAllTransientItemStates();
- // dispose our (i.e. 'local') state manager
- stateMgr.dispose();
}
//< more methods for listing and retrieving transient ItemState instances >
|