You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by gchakra <go...@fox.com> on 2014/10/17 19:17:18 UTC
How do I configure a automatic expiration for DLQ
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.
Re: How do I configure a automatic expiration for DLQ
Posted by Tim Bain <tb...@alumni.duke.edu>.
2. That plugin will cause messages to be discarded immediately instead of
going to the DLQ. There's 5-day timeout like you're looking for, they just
go straight into the bit bucket.
On Fri, Oct 17, 2014 at 11:17 AM, gchakra <go...@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.
>
Re: How do I configure a automatic expiration for DLQ
Posted by Gary Tully <ga...@gmail.com>.
s/know/knot
On 21 October 2014 11:54, Gary Tully <ga...@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 <tb...@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 <ga...@gmail.com> wrote:
>>
>> > yes. periodic expiry processing. controlled by destination
>> > policy expireMessagesPeriod > 0
>> >
>> > On 17 October 2014 22:12, Tim Bain <tb...@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 <ga...@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 <ga...@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 <go...@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.
>> > > > >>
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>
Re: How do I configure a automatic expiration for DLQ
Posted by Gary Tully <ga...@gmail.com>.
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 <tb...@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 <ga...@gmail.com> wrote:
>
> > yes. periodic expiry processing. controlled by destination
> > policy expireMessagesPeriod > 0
> >
> > On 17 October 2014 22:12, Tim Bain <tb...@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 <ga...@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 <ga...@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 <go...@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.
> > > > >>
> > > > >
> > > > >
> > > >
> > >
> >
>
Re: How do I configure a automatic expiration for DLQ
Posted by Tim Bain <tb...@alumni.duke.edu>.
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 <ga...@gmail.com> wrote:
> yes. periodic expiry processing. controlled by destination
> policy expireMessagesPeriod > 0
>
> On 17 October 2014 22:12, Tim Bain <tb...@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 <ga...@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 <ga...@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 <go...@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.
> > > >>
> > > >
> > > >
> > >
> >
>
Re: How do I configure a automatic expiration for DLQ
Posted by Gary Tully <ga...@gmail.com>.
yes. periodic expiry processing. controlled by destination
policy expireMessagesPeriod > 0
On 17 October 2014 22:12, Tim Bain <tb...@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 <ga...@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 <ga...@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 <go...@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.
> > >>
> > >
> > >
> >
>
Re: How do I configure a automatic expiration for DLQ
Posted by Tim Bain <tb...@alumni.duke.edu>.
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 <ga...@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 <ga...@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 <go...@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.
> >>
> >
> >
>
Re: How do I configure a automatic expiration for DLQ
Posted by Gary Tully <ga...@gmail.com>.
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 <ga...@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 <go...@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.
>>
>
>
Re: How do I configure a automatic expiration for DLQ
Posted by Gary Tully <ga...@gmail.com>.
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 <go...@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.
>