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