You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2013/07/18 12:48:29 UTC

svn commit: r1504423 - in /activemq/trunk: activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java activemq-unit-tests/src/test/java/org/apache/activemq/RedeliveryPolicyTest.java

Author: gtully
Date: Thu Jul 18 10:48:29 2013
New Revision: 1504423

URL: http://svn.apache.org/r1504423
Log:
https://issues.apache.org/jira/browse/AMQ-4637 - populate DLQ_DELIVERY_FAILURE_CAUSE_PROPERTY for messages that exceed a redelivery policy - makes it easier to identify in the dlq

Modified:
    activemq/trunk/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
    activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/RedeliveryPolicyTest.java

Modified: activemq/trunk/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java?rev=1504423&r1=1504422&r2=1504423&view=diff
==============================================================================
--- activemq/trunk/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java (original)
+++ activemq/trunk/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java Thu Jul 18 10:48:29 2013
@@ -1208,6 +1208,7 @@ public class ActiveMQMessageConsumer imp
                     MessageAck ack = new MessageAck(lastMd, MessageAck.POSION_ACK_TYPE, deliveredMessages.size());
                     ack.setPoisonCause(lastMd.getRollbackCause());
                     ack.setFirstMessageId(firstMsgId);
+                    ack.setPoisonCause(new Throwable("Exceeded redelivery policy limit:" + redeliveryPolicy));
                     session.sendAck(ack,true);
                     // Adjust the window size.
                     additionalWindowSize = Math.max(0, additionalWindowSize - deliveredMessages.size());

Modified: activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/RedeliveryPolicyTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/RedeliveryPolicyTest.java?rev=1504423&r1=1504422&r2=1504423&view=diff
==============================================================================
--- activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/RedeliveryPolicyTest.java (original)
+++ activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/RedeliveryPolicyTest.java Thu Jul 18 10:48:29 2013
@@ -24,6 +24,7 @@ import javax.jms.TextMessage;
 import junit.framework.Test;
 
 import org.apache.activemq.broker.region.policy.RedeliveryPolicyMap;
+import org.apache.activemq.command.ActiveMQMessage;
 import org.apache.activemq.command.ActiveMQQueue;
 import org.apache.activemq.command.ActiveMQTopic;
 
@@ -199,6 +200,8 @@ public class RedeliveryPolicyTest extend
         m = (TextMessage)dlqConsumer.receive(1000);
         assertNotNull(m);
         assertEquals("1st", m.getText());
+        String cause = m.getStringProperty(ActiveMQMessage.DLQ_DELIVERY_FAILURE_CAUSE_PROPERTY);
+        assertTrue("cause exception has policy ref", cause.contains("RedeliveryPolicy"));
         session.commit();
 
     }