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:43 GMT
s/know/knot

On 21 October 2014 11:54, Gary Tully <gary.tully@gmail.com> wrote:

> 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