From 814767e56ff8cdafa4232d31a61e7be526eae786 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Tue, 21 Oct 2014 11:34:00 +0000 Subject: QPID-6171 : make Connection.getChannels() return a data structure that can be safely iterated over git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633344 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/org/apache/qpid/transport/Connection.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java index 99fc02c959..b79a2c13fd 100644 --- a/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java +++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java @@ -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 ConnectionInvoker private Sender sender; final private Map sessions = new HashMap(); - final private Map channels = new HashMap(); + final private Map channels = new ConcurrentHashMap(); private State state = NEW; final private Object lock = new Object(); @@ -731,7 +732,7 @@ public class Connection extends ConnectionInvoker protected Collection getChannels() { - return channels.values(); + return new ArrayList<>(channels.values()); } public boolean hasSessionWithName(final byte[] name) @@ -741,8 +742,7 @@ public class Connection extends ConnectionInvoker public void notifyFailoverRequired() { - List values = new ArrayList(channels.values()); - for (Session ssn : values) + for (Session ssn : getChannels()) { ssn.notifyFailoverRequired(); } -- cgit v1.2.1