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
