You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2012/09/20 06:05:27 UTC
svn commit: r1387851 -
/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/policy/IndividualDeadLetterStrategy.java
Author: tabish
Date: Thu Sep 20 04:05:26 2012
New Revision: 1387851
URL: http://svn.apache.org/viewvc?rev=1387851&view=rev
Log:
fix for: https://issues.apache.org/jira/browse/AMQ-4065
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/policy/IndividualDeadLetterStrategy.java
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/policy/IndividualDeadLetterStrategy.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/policy/IndividualDeadLetterStrategy.java?rev=1387851&r1=1387850&r2=1387851&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/policy/IndividualDeadLetterStrategy.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/policy/IndividualDeadLetterStrategy.java Thu Sep 20 04:05:26 2012
@@ -34,15 +34,17 @@ public class IndividualDeadLetterStrateg
private String topicPrefix = "ActiveMQ.DLQ.Topic.";
private String queuePrefix = "ActiveMQ.DLQ.Queue.";
+ private String topicSuffix;
+ private String queueSuffix;
private boolean useQueueForQueueMessages = true;
private boolean useQueueForTopicMessages = true;
private boolean destinationPerDurableSubscriber;
public ActiveMQDestination getDeadLetterQueueFor(Message message, Subscription subscription) {
if (message.getDestination().isQueue()) {
- return createDestination(message, queuePrefix, useQueueForQueueMessages, subscription);
+ return createDestination(message, queuePrefix, queueSuffix, useQueueForQueueMessages, subscription);
} else {
- return createDestination(message, topicPrefix, useQueueForTopicMessages, subscription);
+ return createDestination(message, topicPrefix, topicSuffix, useQueueForTopicMessages, subscription);
}
}
@@ -71,6 +73,28 @@ public class IndividualDeadLetterStrateg
this.topicPrefix = topicPrefix;
}
+ public String getQueueSuffix() {
+ return queueSuffix;
+ }
+
+ /**
+ * Sets the suffix to use for all dead letter queues for queue messages
+ */
+ public void setQueueSuffix(String queueSuffix) {
+ this.queueSuffix = queueSuffix;
+ }
+
+ public String getTopicSuffix() {
+ return topicSuffix;
+ }
+
+ /**
+ * Sets the suffix to use for all dead letter queues for topic messages
+ */
+ public void setTopicSuffix(String topicSuffix) {
+ this.topicSuffix = topicSuffix;
+ }
+
public boolean isUseQueueForQueueMessages() {
return useQueueForQueueMessages;
}
@@ -113,6 +137,7 @@ public class IndividualDeadLetterStrateg
// -------------------------------------------------------------------------
protected ActiveMQDestination createDestination(Message message,
String prefix,
+ String suffix,
boolean useQueue,
Subscription subscription ) {
String name = null;
@@ -129,10 +154,15 @@ public class IndividualDeadLetterStrateg
if (destinationPerDurableSubscriber && subscription instanceof DurableTopicSubscription) {
name += "." + ((DurableTopicSubscription)subscription).getSubscriptionKey();
}
+
+ if (suffix != null && !suffix.isEmpty()) {
+ name += suffix;
+ }
+
if (useQueue) {
return new ActiveMQQueue(name);
} else {
return new ActiveMQTopic(name);
}
}
-}
+}
\ No newline at end of file