[openamq-dev] Named & Persistent Queue Status

Pieter Hintjens ph at imatix.com
Mon Nov 19 10:34:20 CET 2007


On Nov 18, 2007 7:03 PM, Matthew Alton <simplicissimus at gmail.com> wrote:

> Interesting.  To be clear, this method of achieving persistence is
> necessarily synchronous, yes?  What we are discussing is not equivalent to a
> persistent queue a la MQ Series.  The notion of "email for programs" is out,
> correct?

No, it's not synchronous as such.  The request-ack dialog delivers one
message to a destination.  If you want to do a full request + response
dialog, you can either combine the response and the ack, or you can do
request-ack plus response-ack as four messages.  It sounds like extra
overhead but these messages are cheap.

To some extent it is equivalent to creating a reliable message queue
at the sender side and a reliable ack queue at the recipient side.  If
we have this code in a framework (an API layer sitting above WireAPI)
then it's effectively free for applications.

What you cannot do easily is 1-to-N distribution, i.e. transaction
sharing, with reliability, using this model.

If you were to add persistent queues to OpenAMQ, you would get a more
classic reliability model, with transactions.  The protocol supports
this  We did not implement it for a couple of reasons, mainly we found
the end-to-end reliability model easier and more robust.

-Pieter


More information about the openamq-dev mailing list