You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by Justin Bertram <jb...@apache.org> on 2022/01/26 21:03:04 UTC

Re: Artemis remove divert - message loss

It's worth noting that questions like this should be directed to the
ActiveMQ users mailing list rather than the dev list.

In any event, I wouldn't expect these operations to lead to any message
loss. However, I'm puzzled why you'd invoke pause() and resume() on the
address. This has no impact on the divert. It only stops the delivery of
messages from the queues on the address to any connected consumers. I'd
recommend simplifying your process to just destroyDivert(). It should be
functionally equivalent and just 1 step instead of 3.


Justin

On Wed, Dec 29, 2021 at 12:01 AM Brian Ramprasad <br...@cs.utoronto.ca>
wrote:

> Hi,
>
> I am trying to track down some lost messages and I have a question about
> how divert removal is handled.
>
> In my scenario, I have an address that is receiving messages  and there is
> divert installed on the address that sends a copy of the messages to
> another address. Sometimes I want to remove this divert to stop sending a
> copy of the messages.
> At the point in time at which I want to remove the divert, I call the
> AddressControl.pause() method, call the
> ActiveMQServerControl.destroyDivert() method, and then I call the
> AddressControl.resume().
>
> My questions is, could this sequence of operations cause message loss if I
> don’t have certain durable settings enabled on the broker and the messages
> themselves?
>
> Any help is much appreciated.
>
>
> Thanks
> Brian R