Author: rgodfrey
Date: Tue Oct 21 11:34:00 2014
New Revision: 1633344
URL: http://svn.apache.org/r1633344
Log:
QPID-6171 : make Connection.getChannels() return a data structure that can be
safely iterated over
Modified:
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
Modified:
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java?rev=1633344&r1=1633343&r2=1633344&view=diff
==============================================================================
---
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
(original)
+++
qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
Tue Oct 21 11:34:00 2014
@@ -35,6 +35,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.security.sasl.SaslClient;
@@ -115,7 +116,7 @@ public class Connection extends Connecti
private Sender<ProtocolEvent> sender;
final private Map<Binary,Session> sessions = new HashMap<Binary,Session>();
- final private Map<Integer,Session> channels = new
HashMap<Integer,Session>();
+ final private Map<Integer,Session> channels = new
ConcurrentHashMap<Integer,Session>();
private State state = NEW;
final private Object lock = new Object();
@@ -731,7 +732,7 @@ public class Connection extends Connecti
protected Collection<Session> getChannels()
{
- return channels.values();
+ return new ArrayList<>(channels.values());
}
public boolean hasSessionWithName(final byte[] name)
@@ -741,8 +742,7 @@ public class Connection extends Connecti
public void notifyFailoverRequired()
{
- List<Session> values = new ArrayList<Session>(channels.values());
- for (Session ssn : values)
+ for (Session ssn : getChannels())
{
ssn.notifyFailoverRequired();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]