I'm running ActiveMQ 5.15.0. My ActiveMQ.DLQ is filling up with messages with dlqDeliveryFailureCause like following: java.lang.Throwable: TopicSubDiscard. ID:ID:babbbbc63a56-37427-1523628495562-1:44:1:1 java.lang.Throwable: Suppressing duplicate delivery on connection, consumer ID:82e8ed600671-38460-1517479481261-1:2:1:1
And I'm hitting storage limit too often. How should I clean up ActiveMQ.DLQ in automatic way so that they expire or what to do to not have them generated at all? These messages with dlqDeliveryFailureCause different than expiration of message don't respect policies - they are not given expiration time set in sharedDeadLetterStrategy. My policies are following: <policyEntry topic=">"> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000" /> </pendingMessageLimitStrategy> </policyEntry> <policyEntry queue=">"> <deadLetterStrategy> <sharedDeadLetterStrategy expiration="86400000" /> </deadLetterStrategy> </policyEntry> <policyEntry queue="ABC.Q.ABCINT.>" prioritizedMessages="true" expireMessagesPeriod="1000"> <deadLetterStrategy> <sharedDeadLetterStrategy processNonPersistent="true" expiration="86400000"> <deadLetterQueue> <queue physicalName="ABC.Q.ABCINT.DLQ" /> </deadLetterQueue> </sharedDeadLetterStrategy> </deadLetterStrategy> </policyEntry> So far I tried: <timeStampingBrokerPlugin zeroExpirationOverride="86400000" /> but expiration is not set for these "TopicSubDiscard" and "Suppressing duplicate delivery" messages. I also tried: <discardingDLQBrokerPlugin dropOnly="ActiveMQ.DLQ" reportInterval="1000"/> But then my policies for setting ABC.Q.ABCINT.DLQ as DLQ of ABC.Q.ABCINT.> stopped working, discarding plugin overrides them. -- Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html