[ 
https://issues.apache.org/jira/browse/JCR-3438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13473179#comment-13473179
 ] 

Claus Köll commented on JCR-3438:
---------------------------------

Hi Nick. I think you should not mix a xa and a normal call. Normally in XA 
Environment you can not close a session. A Session is wrapped within a 
JCASessionHandle.
The XA Container will close your Session when he closes the 
JCAManagedConnection.
Please have a look at XATest.java There we have several testcases about locking 
in xa environment.
                
> Lock tokens acquired inside a transaction do not get released when session 
> logs out
> -----------------------------------------------------------------------------------
>
>                 Key: JCR-3438
>                 URL: https://issues.apache.org/jira/browse/JCR-3438
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.4.2
>            Reporter: Nick Tuckett
>         Attachments: LockTokenTransactionTest.java
>
>
> When outside a transaction, LockManager.addLockToken() calls 
> org.apache.jackrabbit.core.lock.LockManagerImpl.addLockToken(). This sets the 
> lock holder, and if the LockInfo object is actually an InternalLockInfo 
> object, it adds that object as a session listener. This means that the 
> LockInfo object is notified when the session is logging out, whereupon it 
> causes the session to release the lock token.
> When adding a lock token inside a transaction, the underlying implementation 
> calls org.apache.jackrabbit.core.lock.XAEnvironment.addLockToken(). This sets 
> the lock holder on the LockInfo object but does not add it as a session 
> listener. Consequently the lock token remains owned by the session, even when 
> the session finishes logging out.
> Subsequent attempts to get the lock token in other sessions using the same 
> credentials then fail.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to