🎄 Happy Holidays! 🥳

Most of Solace is closed December 24–January 1 so our employees can spend time with their families. We will re-open Thursday, January 2, 2024. Please expect slower response times during this period and open a support ticket for anything needing immediate assistance.

Happy Holidays!

Please note: most of Solace is closed December 25–January 2, and will re-open Tuesday, January 3, 2023.

Max TTL for DMQs

sjaak
sjaak Member Posts: 109 ✭✭✭
edited February 2021 in PubSub+ Event Broker #1

I just bumped into this issue. We are replacing ActiveMQ with Solace for multiple customers so we somehow must implement this. It appears that Solace does not support this, see https://docs.solace.com/Configuring-and-Managing/Configuring-Queues.htm#Configur21.

Is there any workaround for this? We want to automatically delete messages from the DMQ when the TTL expired.

Tagged:

Answers

  • sjaak
    sjaak Member Posts: 109 ✭✭✭

    Aha...it seems to work for manually created DMQ's. I used #DEAD_MSG_QUEUE, is that indeed the issue? Which is fine for us. Thank you

  • TomF
    TomF Member, Employee Posts: 412 Solace Employee

    Hi @sjaak, be careful. The "DMQEligible" message header is stripped from messages as they are moved to any DMQ - I'm not sure if other TTL/DMQ headers are stripped as well. I suspect you would need to set the TTL at the queue level, although I haven't tested.

  • sjaak
    sjaak Member Posts: 109 ✭✭✭
    edited February 2021 #4

    Hi Tom,
    I just did a test. Boomi retries the message twice from q1, then moves it to DMQ #q1 and then removes the message after 60 seconds from #q1. I assume this is the way it should work right? This is how we implemented this on ActiveMQ in the past.

    Queue name = q1
    Respect TTL=false
    TTL=0
    Retries=2
    DMQ name =#q1

    Queue name = #q1
    Respect TTL=true
    TTL=60 seconds
    Retries=0
    DMQ name =#DEAD_MSG_QUEUE