From 82d954860eae9f2c39c50d035c34f2b1c3bdec88 Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Wed, 10 Oct 2007 09:59:56 +0000 Subject: QPID-578 : Queue Deletion causes unacked msgs to be discard resulting in the RejcectHandler throwing NPE when it too tries to discard the message. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2.1@583415 13f79535-47bb-0310-9956-ffa450edef68 --- .../server/handler/BasicRejectMethodHandler.java | 22 ++++++++++++++++++---- .../org/apache/qpid/server/queue/AMQMessage.java | 5 +++++ .../org/apache/qpid/server/queue/AMQQueue.java | 5 +++++ 3 files changed, 28 insertions(+), 4 deletions(-) (limited to 'java') diff --git a/java/broker/src/main/java/org/apache/qpid/server/handler/BasicRejectMethodHandler.java b/java/broker/src/main/java/org/apache/qpid/server/handler/BasicRejectMethodHandler.java index 9052b2e81f..aca485f62a 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/handler/BasicRejectMethodHandler.java +++ b/java/broker/src/main/java/org/apache/qpid/server/handler/BasicRejectMethodHandler.java @@ -23,7 +23,6 @@ package org.apache.qpid.server.handler; import org.apache.qpid.AMQException; import org.apache.qpid.framing.BasicRejectBody; import org.apache.qpid.protocol.AMQMethodEvent; -import org.apache.qpid.protocol.AMQConstant; import org.apache.qpid.server.AMQChannel; import org.apache.qpid.server.ack.UnacknowledgedMessage; import org.apache.qpid.server.protocol.AMQProtocolSession; @@ -71,7 +70,7 @@ public class BasicRejectMethodHandler implements StateAwareMethodListener 0; + } + /** * Used to iterate through all the body frames associated with this message. Will not keep all the data in memory * therefore is memory-efficient. diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java index 2ea0b6d3d8..0c52a358f7 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java +++ b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java @@ -238,6 +238,11 @@ public class AMQQueue implements Managable, Comparable return _autoDelete; } + public boolean isDeleted() + { + return _deleted.get(); + } + /** @return no of messages(undelivered) on the queue. */ public int getMessageCount() { -- cgit v1.2.1