summaryrefslogtreecommitdiff
path: root/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/SessionEndpoint.java
diff options
context:
space:
mode:
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.java13
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();
+ }
+
}