Yes, it's possible to have message redelivery under certain circumstances,
and the most common way to avoid reprocessing of non-idempotent redelivered
messages is to store the IDs of all processed messages as you've
described.  (You could use the JMSMessageID or some natural ID of the
message; uniqueness is what matters here.)  Keep in mind that one possible
scenario that would cause message redelivery is the crash of a client, so
make sure that ID list is somewhere persistent (i.e. not just in memory).

Tim
On Apr 14, 2015 6:00 AM, "Sally" <sahil.ra...@barclaycard.co.uk> wrote:

> Hello Everyone
>
> Being new to messaging world, we are concerned about the following failure
> scenario and how to deal with it.
>
> Failure Scenario :  While consumer of Message sends ACK back to the
> Broker,failure occurs i.e ACK is not received by the Broker. What would
> happen in such a case ? Will Broker sends the same Message again ?
> If yess, then how to deal @ the coinsumer side iff message is not
> idempotent. Should we store somewhere at the Consumer side for the messages
> being already processed and checks onReceive of message whether Consumer
> has
> already processed this message or not.
>
> Please suggestr best Strategy for Production use.
>
> Looking Forward !!!
>
> Cheers!!!
>
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Acknowledgement-Failure-tp4694871.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>

Reply via email to