From 8cc7eac4f1c528b27081684201f880661eb65e85 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Mon, 10 Feb 2014 08:58:38 +0000 Subject: QPID-5504 : fixed implementation of 0-8 GET when using NoAck git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1566531 13f79535-47bb-0310-9956-ffa450edef68 --- .../server/protocol/v0_8/ConsumerTarget_0_8.java | 23 +++++--- .../v0_8/handler/BasicGetMethodHandler.java | 62 +++++++++++++++------- 2 files changed, 59 insertions(+), 26 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ConsumerTarget_0_8.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ConsumerTarget_0_8.java index 47700f812f..cd71db15cd 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ConsumerTarget_0_8.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/ConsumerTarget_0_8.java @@ -31,6 +31,7 @@ import org.apache.qpid.server.message.MessageInstance; import org.apache.qpid.server.message.MessageReference; import org.apache.qpid.server.message.ServerMessage; import org.apache.qpid.server.protocol.AMQSessionModel; +import org.apache.qpid.server.protocol.v0_8.handler.BasicGetMethodHandler; import org.apache.qpid.server.protocol.v0_8.output.ProtocolOutputConverter; import org.apache.qpid.server.queue.QueueEntry; import org.apache.qpid.server.consumer.AbstractConsumerTarget; @@ -80,6 +81,16 @@ public abstract class ConsumerTarget_0_8 extends AbstractConsumerTarget implemen return new BrowserConsumer(channel, consumerTag, filters, creditManager, channel.getClientDeliveryMethod(), channel.getRecordDeliveryMethod()); } + public static ConsumerTarget_0_8 createGetNoAckTarget(final AMQChannel channel, + final AMQShortString consumerTag, + final FieldTable filters, + final FlowCreditManager creditManager, + final ClientDeliveryMethod deliveryMethod, + final RecordDeliveryMethod recordMethod) throws AMQException + { + return new GetNoAckConsumer(channel, consumerTag, filters, creditManager, deliveryMethod, recordMethod); + } + static final class BrowserConsumer extends ConsumerTarget_0_8 { public BrowserConsumer(AMQChannel channel, @@ -132,10 +143,10 @@ public abstract class ConsumerTarget_0_8 extends AbstractConsumerTarget implemen } public static ConsumerTarget_0_8 createNoAckTarget(AMQChannel channel, - AMQShortString consumerTag, FieldTable filters, - FlowCreditManager creditManager, - ClientDeliveryMethod deliveryMethod, - RecordDeliveryMethod recordMethod) throws AMQException + AMQShortString consumerTag, FieldTable filters, + FlowCreditManager creditManager, + ClientDeliveryMethod deliveryMethod, + RecordDeliveryMethod recordMethod) throws AMQException { return new NoAckConsumer(channel, consumerTag, filters, creditManager, deliveryMethod, recordMethod); } @@ -223,9 +234,9 @@ public abstract class ConsumerTarget_0_8 extends AbstractConsumerTarget implemen */ public static final class GetNoAckConsumer extends NoAckConsumer { - public GetNoAckConsumer(AMQChannel channel, AMQProtocolSession protocolSession, + public GetNoAckConsumer(AMQChannel channel, AMQShortString consumerTag, FieldTable filters, - boolean noLocal, FlowCreditManager creditManager, + FlowCreditManager creditManager, ClientDeliveryMethod deliveryMethod, RecordDeliveryMethod recordMethod) throws AMQException diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicGetMethodHandler.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicGetMethodHandler.java index d4bd486a99..b1d2fa5088 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicGetMethodHandler.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicGetMethodHandler.java @@ -128,24 +128,8 @@ public class BasicGetMethodHandler implements StateAwareMethodListener