activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Tully <gary.tu...@gmail.com>
Subject Re: How do I configure a automatic expiration for DLQ
Date Tue, 21 Oct 2014 10:54:26 GMT
yes. but currently there is no loop detection, so you could get your self
in a know, expiring form dlq to dlq.

On 20 October 2014 16:42, Tim Bain <tbain@alumni.duke.edu> wrote:

> OK, I wasn't sure that the queue policy for that covered the DLQ, though it
> makes sense that the DLQ is treated like any other queue rather than
> handled separately.  Thanks for clarifying.
>
> On Mon, Oct 20, 2014 at 4:41 AM, Gary Tully <gary.tully@gmail.com> wrote:
>
> > yes. periodic expiry processing. controlled by destination
> > policy expireMessagesPeriod > 0
> >
> > On 17 October 2014 22:12, Tim Bain <tbain@alumni.duke.edu> wrote:
> >
> > > Those plugin modifications will get the message into the DLQ with an
> > > expiration date, but is there anything that will cause messages in the
> > DLQ
> > > to be deleted when they expire?  Or will Gopal also need to implement
> > > something to do that?
> > >
> > > On Fri, Oct 17, 2014 at 2:28 PM, Gary Tully <gary.tully@gmail.com>
> > wrote:
> > >
> > > > the main meat is in:
> > > >
> > > >
> > >
> >
> https://github.com/apache/activemq/blob/d54e0d6ab590b6a6148a5e2629c45b95d3f40eb8/activemq-broker/src/main/java/org/apache/activemq/plugin/DiscardingDLQBroker.java#L47
> > > >
> > > > maybe an option in there will give you a quick win, do what
> > regionBroker
> > > > does but set an expiration.
> > > >
> > > > On 17 October 2014 21:25, Gary Tully <gary.tully@gmail.com> wrote:
> > > >
> > > > > 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.chakravarthy@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.
> > > > >>
> > > > >
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message