diff options
Diffstat (limited to 'qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java')
-rw-r--r-- | qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java b/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java index 5a28ddcb60..d126687e94 100644 --- a/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java +++ b/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java @@ -456,7 +456,7 @@ public class SessionEndpoint public void receiveFlow(final Flow flow) { - + Collection<LinkEndpoint> endpoints = new ArrayList<>(); synchronized(getLock()) { UnsignedInteger handle = flow.getHandle(); @@ -469,18 +469,21 @@ public class SessionEndpoint if(endpoint != null) { endpoint.receiveFlow( flow ); + endpoints.add(endpoint); } else { - for(LinkEndpoint le : _remoteLinkEndpoints.values()) - { - le.flowStateChanged(); - } + endpoints.addAll(_remoteLinkEndpoints.values()); } getLock().notifyAll(); } + for(LinkEndpoint le : endpoints) + { + le.flowStateChanged(); + } + } |