JCA Concurrent Modification Exception when JCAManagedConnection.cleanup() called
--------------------------------------------------------------------------------

         Key: JCR-412
         URL: http://issues.apache.org/jira/browse/JCR-412
     Project: Jackrabbit
        Type: Bug

  Components: jca  
    Versions: 1.0    
 Environment: JDK1.4.2
SunOne AppServer 7

    Reporter: Ross Black
    Priority: Minor


The JCAManagedConnection.closeHandles() method causes a 
ConcurrentModificationException if the handles list is not empty.
This is caused by modification of the handles list by removeHandle(), while 
closeHandles() is iterating over the list.

Under SunOne AppServer 7 this can be caused simply by not closing the Session 
handle before the transaction commits.

It is probably not even necessary to send connectionClosed events during 
cleanup().  According to the API for connectionClosed, the event indicates that 
an application component has closed  the connection handle.  cleanup() is a 
container initiated action, and so the connectionClosed event is not applicable.


java.util.ConcurrentModificationException
    at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:552)
    at java.util.LinkedList$ListItr.next(LinkedList.java:488)
    at 
org.apache.jackrabbit.jca.JCAManagedConnection.closeHandles(JCAManagedConnection.java:382)
    at 
org.apache.jackrabbit.jca.JCAManagedConnection.cleanup(JCAManagedConnection.java:145)
    at 
com.sun.enterprise.resource.IASPoolObjectImp.cleanup(IASPoolObjectImp.java:243)
    at 
com.sun.enterprise.resource.IASGenericPoolObjects.transactionCompleted(IASGenericPoolObjects.java:794)
    at 
com.sun.enterprise.resource.ResourcePoolManagerImpl.transactionCompleted(ResourcePoolManagerImpl.java:347)
    at 
com.sun.enterprise.resource.ResourcePoolManagerImpl$SynchronizationListener.afterCompletion(ResourcePoolManagerImpl.java:644)
    at 
com.sun.jts.jta.SynchronizationImpl.after_completion(SynchronizationImpl.java:70)



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to