you really need an enhancement of your own plugin that will implement sendToDeadLetterQueue b/c the current impl will clear the expiration of the message, so it is in theory not possible for a message sent to the DLQ, to expire.
https://github.com/apache/activemq/blob/d54e0d6ab590b6a6148a5e2629c45b95d3f40eb8/activemq-broker/src/main/java/org/apache/activemq/broker/region/RegionBroker.java#L744 A little plugin may be the answer - a variant of the discardingDLQBrokerPlugin should be easy to hack up, maybe add a configurable expiry to that plugin and submit a patch. https://github.com/apache/activemq/blob/d54e0d6ab590b6a6148a5e2629c45b95d3f40eb8/activemq-broker/src/main/java/org/apache/activemq/plugin/DiscardingDLQBrokerPlugin.java On 17 October 2014 18:17, gchakra <gopal.chakravar...@fox.com> wrote: > 1.For the dead letter queue ActiveMQ.DLQ, I would like to configure a > policy > whereby messages in DLQ get deleted after they have resided in DLQ for 5 > days. > I couldnt see how to do it in the documentation. > My current activemq.xml configuration file is below...how do I modify it > for > autoexpiring my DLQ messages after 5 days... > > > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:amq="http://activemq.apache.org/schema/core" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd > http://activemq.apache.org/schema/core > http://activemq.apache.org/schema/core/activemq-core.xsd"> > <bean > > class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> > <property name="locations"> > > <value>file:${activemq.base}/conf/credentials.properties</value> > </property> > </bean> > <broker xmlns="http://activemq.apache.org/schema/core" > brokerName="localhost" dataDirectory="${activemq.base}/data" > destroyApplicationContextOnStop="true"> > <destinationPolicy> > <policyMap> > <policyEntries> > <policyEntry topic=">" > producerFlowControl="false" memoryLimit="1mb" > useCache="false"> > <pendingSubscriberPolicy> > <vmCursor /> > </pendingSubscriberPolicy> > </policyEntry> > <policyEntry queue=">" > producerFlowControl="false" memoryLimit="1mb" > useCache="false"> > <dispatchPolicy> > > <roundRobinDispatchPolicy /> > </dispatchPolicy> > </policyEntry> > </policyEntries> > </policyMap> > </destinationPolicy> > <managementContext> > <managementContext createConnector="false"/> > </managementContext> > <persistenceAdapter> > <kahaDB directory="${activemq.base}/data/kahadb" > ignoreMissingJournalfiles="true" checkForCorruptJournalFiles="true" > checksumJournalFiles="true" journalMaxFileLength="64mb" /> > </persistenceAdapter> > <transportConnectors> > <transportConnector name="openwire" uri="tcp:// > 0.0.0.0:61616"/> > </transportConnectors> > </broker> > <import resource="jetty.xml"/> > </beans> > > > 2. What is the impact of adding the following plugin to the broker in > activemq.xml configuration XML > <broker xmlns="http://activemq.apache.org/schema/core" > brokerName="localhost" dataDirectory="$ > {activemq.base}/data" destroyApplicationContextOnStop="true"> > <plugins> > <discardingDLQBrokerPlugin dropAll="true" dropTemporaryTopics="true" > dropTemporaryQueues="true" /> > </plugins> > </broker> > > > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/How-do-I-configure-a-automatic-expiration-for-DLQ-tp4686510.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. >