You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2010/05/31 14:02:54 UTC

svn commit: r949724 - in /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core: WorkspaceImpl.java state/SessionItemStateManager.java

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 >