[rabbitmq-discuss] Exactly Once Delivery

John Apps johndapps at gmail.com
Thu Aug 5 17:20:32 BST 2010

>From my possibly naive understanding of the spec, it means quite simply that
a message will be delivered guaranteed once and only once; but I somehow do
not think that that is quite what you were asking?

The nice part about JMS is that it is only an API spec and says nothing
about implementation.
I would have to look into the spec to see what the answer is to the
question: "...how do they deal with duplicates..." etc. If I find the time,
I shall be happy to look at the odd JMS implementation and see what the
various vendors do in cases such as that in question.
What I do know is that one can specify notification for when a message with
"guaranteed delivery" simply cannot be delivered, for whatever reason. This
can be to the client or, more likely, as a message from the 'server' to
those that want to know.

A relatively unknown product called Reliable Transaction Router (RTR),
architected and developed long ago by DEC and still maintained and developed
by HP, warns, when it considers that a message *may* be a duplicate, i.e.,
has possibly been delivered previously, of the fact. This is also the case
when messages are being 'replayed' after a server has been brought down and
is now receiving messages which flowed through the network whilst it was

There is much discussion around the word "guaranteed", the objection being
that nothing can be "guaranteed". Of course it cannot, but if we take things
to that extent, we may as well give up right away!

On Thu, Aug 5, 2010 at 15:48, Tony Garnock-Jones <tonyg at rabbitmq.com> wrote:

> John Apps wrote:
> > The JMS standard offers guaranteed once
> What exactly do they mean by that? In particular, how do they deal with
> duplicates? Do they report failure, or silently let a dup through in
> certain
> situations? If you could point me to the part of the spec that sets out the
> resolution of these issues, that's be really useful.
> Tony

John Apps
(49) 171 869 1813
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20100805/96d3f1b7/attachment.htm>

More information about the rabbitmq-discuss mailing list