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();
}