From c9c168abe3ab55f9b718b38403ccefa5f7e00ad9 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Tue, 3 Feb 2015 10:14:38 +0000 Subject: QPID-6353 : [Java Broker] [AMQP 1.0] consumer attempting to drain an empty queue does not send back flow indicating drain is complete git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1656664 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java | 5 +++++ .../java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java | 1 + 2 files changed, 6 insertions(+) (limited to 'qpid/java') diff --git a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java index c5d9a5e35d..598fce03b9 100644 --- a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java +++ b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java @@ -343,6 +343,11 @@ class ConsumerTarget_1_0 extends AbstractConsumerTarget return _link.getSession(); } + public void flush() + { + _consumer.flush(); + } + private class DispositionAction implements UnsettledAction { diff --git a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java index 2cfe431979..123d6ac2fb 100644 --- a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java +++ b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java @@ -496,6 +496,7 @@ public class SendingLink_1_0 implements SendingLinkListener, Link_1_0, DeliveryS && hasCredit()) { _draining = true; + _target.flush(); } while(!_resumeAcceptedTransfers.isEmpty() && getEndpoint().hasCreditToSend()) -- cgit v1.2.1