[ http://issues.apache.org/jira/browse/JCR-412?page=all ] Edgar Poce resolved JCR-412: ----------------------------
Resolution: Fixed thanks for reporting the issue Ross. > 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 > Assignee: Edgar Poce > 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