<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
John,<br>
<br>
Please start a new thread when asking a new topic. It's very
difficult to keep track of your posts otherwise, and it therefore
takes us longer to help! Thanks.<br>
<br>
So on the subject of transactions...<br>
<br>
On 12/17/2012 07:15 PM, John Smith wrote:
<blockquote
cite="mid:1355771741.55347.YahooMailNeo@web165001.mail.bf1.yahoo.com"
type="cite">
<div style="color: rgb(0, 0, 0); background-color: rgb(255, 255,
255); font-family: lucida console,sans-serif; font-size: 12pt;">
<div><span>Am I correctly interpreting the following link:</span></div>
<div><span></span> </div>
<div><span><a moz-do-not-send="true"
href="http://www.rabbitmq.com/semantics.html">http://www.rabbitmq.com/semantics.html</a></span></div>
<div><span></span> </div>
<div><span>I can have publish inside a transaction, but not
receive inside a tx, <br>
</span></div>
</div>
</blockquote>
<br>
You can of course receive messages inside a transaction, however
that *receipt is not transactional* but rather the acknowledgement
you send for it is. What this means in practise is that once
delivered, a message arriving during a transaction will not be
redelivered even if you roll back the transaction. On the broker, if
you send back an ACK the message is normally then removed from the
queue, and not before then, so that nack/reject work as expected. If
you send an ACK during a transaction and subsequently roll back the
transaction, the message will *not* be removed from the queue nor
will it be delivered to you again! That is what the AMQP spec means
when it distinguishes between atomic delivery (which isn't mandated
or supported) and atomic acknowledgements (which are). As per the
spec, if you're holding onto a message received during a transaction
that was subsequently rolled back, it is valid to ACK that message
at a later time in a subsequent transaction.<br>
<br>
<blockquote
cite="mid:1355771741.55347.YahooMailNeo@web165001.mail.bf1.yahoo.com"
type="cite">
<div style="color: rgb(0, 0, 0); background-color: rgb(255, 255,
255); font-family: lucida console,sans-serif; font-size: 12pt;">
<div><span>and the transaction is not atomic ?</span></div>
<div><span></span> <br>
</div>
</div>
</blockquote>
<br>
Transactions in AMQP are atomic for a single queue, but RabbitMQ
does not uphold the atomicity guarantee in the face of failure
during the commit phase.<br>
<br>
<blockquote
cite="mid:1355771741.55347.YahooMailNeo@web165001.mail.bf1.yahoo.com"
type="cite">
<div style="color:#000; background-color:#fff; font-family:lucida
console, sans-serif;font-size:12pt">
<div><span>Could someone please post a link to where I can view
an example of a transaction in Rabbit ?</span></div>
<div><span></span><br>
</div>
</div>
</blockquote>
<br>
If you explain what you're specifically trying to achieve with
transactions, then we can probably point you in the right direction.<br>
</body>
</html>