Search code examples
delaysolaceconsumption

Solace messaging + delay message consumption


I am considering using Solace messaging, but I cannot find any relevant information on delayed message consumption, which is an extremely nice feature.

What I need is the following: set up header / property specifying a delay or specifying the threshold consumption time, so that Solace will not send this message to subscribers until that timestamp is reached.

Is there such possibility in Solace?


Solution

  • Ok here are the steps for an example where you want to send a message now to App A, but have the message be to delivered to App A in one hour.

    1. Set App A to consume from queue A.
    2. You also configure a second queue B that has subscribed to Topic C - you configure this manually.
    3. You configure the Dead Message Queue for queue B to be queue A
    4. Your publishing app sends a message on Topic C with Time To Live (TTL) set to one hour. The DMQ eligible flag must be set on each message.

    The net result is that once you send the message on Topic C it will be put into Queue B for one hour, when the TTL expires the Solace broker will move it to queue A and deliver it to App A if/when it connects.

    You can read more about Solaces dead message queues here.