summaryrefslogtreecommitdiff
path: root/java/broker/src/main/java/org/apache/qpid/server/RequiredDeliveryException.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/broker/src/main/java/org/apache/qpid/server/RequiredDeliveryException.java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/RequiredDeliveryException.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/RequiredDeliveryException.java b/java/broker/src/main/java/org/apache/qpid/server/RequiredDeliveryException.java
index 820f0122f5..fb16267d97 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/RequiredDeliveryException.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/RequiredDeliveryException.java
@@ -37,6 +37,10 @@ public abstract class RequiredDeliveryException extends AMQException
{
super(message);
_amqMessage = payload;
+ // Increment the reference as this message is in the routing phase
+ // and so will have the ref decremented as routing fails.
+ // we need to keep this message around so we can return it in the
+ // handler. So increment here.
payload.incrementReference();
}