You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2013/12/09 21:30:18 UTC
svn commit: r1549668 -
/qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java
Author: rgodfrey
Date: Mon Dec 9 20:30:17 2013
New Revision: 1549668
URL: http://svn.apache.org/r1549668
Log:
QPID-5390 : [JMS AMQP 1.0] ConcurrentModificationException when closing a connection (patch from Xin Chen)
Modified:
qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java
Modified: qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java?rev=1549668&r1=1549667&r2=1549668&view=diff
==============================================================================
--- qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java (original)
+++ qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java Mon Dec 9 20:30:17 2013
@@ -276,14 +276,23 @@ public class SessionImpl implements Sess
{
_closed = true;
_dispatcher.close();
- for(MessageConsumerImpl consumer : _consumers)
+
+ List<MessageConsumerImpl> consumers = null;
+ List<MessageProducerImpl> producers = null;
+ synchronized (_session.getEndpoint().getLock())
+ {
+ consumers = new ArrayList<MessageConsumerImpl>(_consumers);
+ producers = new ArrayList<MessageProducerImpl>(_producers);
+ }
+ for(MessageConsumerImpl consumer : consumers)
{
consumer.close();
}
- for(MessageProducerImpl producer : _producers)
+ for(MessageProducerImpl producer : producers)
{
producer.close();
}
+
_session.close();
_connection.removeSession(this);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org