Are you using ActiveMQ Classic or ActiveMQ Artemis? Also which version are
you using?


Justin

On Tue, Mar 11, 2025 at 8:08 AM Ephemeris Lappis <ephemeris.lap...@gmail.com>
wrote:

> Hello.
>
> I'm looking for a simple way to clean DLQ queues on our ActiveMQ brokers.
> Messages are moved to DLQ queues when some unexpected conditions lead
> consumers to fail. We've no automatic processing for DLQ messages that are
> only needed for diagnosis. Nevertheless, when the queues contain too many
> messages, the ActiveMQ console or alternative browsing tools are not able
> to handle them, and, by the way, thousands of messages are useless. This is
> why we're looking for a periodic cleaning. For example, we could remove all
> messages that are older than N days.
>
> A JMS selector can be used to check the JMSTimestamp is before a given
> time. But I can't find any way to write a route with a JMS 'from' statement
> that could evaluate something like : JMSTimestamp < NOW() - INTERVAL '7
> days'...
>
> I imagine that more complex solutions could be considered, consuming all
> the DLQ queues messages, and moving them to other queues with an expiration
> time, setting a policy to delete expired messages. But this is not our
> first choice...
>
> I've also searched for a way to force ActiveMQ to set an expiration time on
> all DLQ messages, but It seems it's not possible.
>
> Any ideas are welcome !
>
> Thanks in advance.
>
> Regards.
>

Reply via email to