Avoid premature publication of XAItemStateManager
-------------------------------------------------

                 Key: JCR-2168
                 URL: https://issues.apache.org/jira/browse/JCR-2168
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-core
    Affects Versions: 1.5.6
            Reporter: Martijn Hendriks


The XAItemStateManager constructor calls the super constructor 
(LocalItemStateManager)  which registers the instance as a listener with the 
SharedItemStateManager. The construction of the instance has not yet been 
finished, but it is accessible from the SharedItemStateManager. This can result 
in strange exceptions like the following:

java.lang.NullPointerException
        at 
org.apache.jackrabbit.core.state.XAItemStateManager.stateModified(XAItemStateManager.java:580)
        at 
org.apache.jackrabbit.core.state.StateChangeDispatcher.notifyStateModified(StateChangeDispatcher.java:111)
        at 
org.apache.jackrabbit.core.state.SharedItemStateManager.stateModified(SharedItemStateManager.java:400)
        at 
org.apache.jackrabbit.core.virtual.AbstractVISProvider.stateModified(AbstractVISProvider.java:445)
        at 
org.apache.jackrabbit.core.state.ItemState.notifyStateUpdated(ItemState.java:244)
 

The NPE is caused by the commitLogs field being null (it has not yet been 
initialized to its final value).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to