On 28/08/07, Goel, Tanmay <[EMAIL PROTECTED]> wrote:

> 1. I have a basic question about transactions in AMQP. What exactly does
> a transaction include/mean? For example, does it include the
> administrative features like creation of queues, exchanges, etc that
> will be auto-deleted if the client aborts the transaction.

In 0-8 and 0-9, which is implemented by Qpid M2 transactions are
between only the broker and the client. They do not cover queue or
exchange creation or deletion.

> entirely clear about this, so I'm just trying to understand and figure
> out possibilities. The spec says that messages and acknowledgments are
> covered in a transaction. What would happen if the publisher sends a
> message to the broker/queue, consumer receives (reads it from the queue)
> and processes it, sends an ack to the broker and then the publisher
> decides to abort the transaction? How can this transaction be atomic
> and/or rolled-back since the message is already gone?

There are two transactions involved here: between the publisher and
broker, and between the consumer and broker. The messages are not
delivered until the publisher commits, and are not fully dequeued
until the consumer commits.

> 2. Is the protocol currently assuming a reliable transport layer (TCP,
> SCTP, etc) and no unreliable connection (say, UDP)? If yes, will the
> later releases work on including unreliable transport layer protocols?

0-8/0-9 assume TCP.

RG

Reply via email to