From 24ee7287390fd303d34f50c820c217ca9bb881bd Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Tue, 29 May 2012 11:38:52 +0000 Subject: QPID-4017: reset the session flow control blocked status during failover. Applied patch from Oleksandr Rudyy , Philip Harvey git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1343678 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'qpid/java/client') diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java index aa5981b81f..68ad794f31 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java @@ -285,7 +285,14 @@ public class AMQConnectionDelegate_8_0 implements AMQConnectionDelegate for (Iterator it = sessions.iterator(); it.hasNext();) { AMQSession s = (AMQSession) it.next(); + + // reset the flow control flag + // on opening channel, broker sends flow blocked if virtual host is blocked + // if virtual host is not blocked, then broker does not send flow command + // that's why we need to reset the flow control flag + s.setFlowControl(true); reopenChannel(s.getChannelId(), s.getDefaultPrefetchHigh(), s.getDefaultPrefetchLow(), s.isTransacted()); + s.resubscribe(); } } -- cgit v1.2.1