[rabbitmq-discuss] Fwd: question on the faq

Tim Coote tim+rabbitmq.com at coote.org
Tue Jan 6 13:17:18 GMT 2009

Yes. thanks. The LUW is the message processing between message  
systems, but has no semantics concerning the completeness of the  
overall processing of the information (beyond the scope of the two  
queues mentioned).  That is useful.

I've just found some stuff at IBM, Oracle, BEA and Sun and been  
reviewing some of the jms documentation, so I'm getting a better  
picture on how that was intended to be used. I can see where my  
confusion's coming from. From what I read, I think that the simple  
type of transaction is what you describe and the distributed type was  
intended to cover the use of the content of the messages in some  
consistent way.   Although, I must say that the intentions are deeply  
buried in the example code. I can almost guarantee that most real apps  
will be inconsistent in their use of the 'transactions' :-)

On 6 Jan 2009, at 13:10, Gordon Sim wrote:

> With an atomic transaction, if I consume a message (m1) from one  
> queue (lets call it qA) and publish it (perhaps in modified form,  
> denoted m2) to another queue (lets call that qB) then either m1  
> remains on qA and m2 is *not* on qB or m1 has been removed from qA  
> and m2 *is* on qB.
> Or in the example Ben gave either all n messages of a  
> transactionally published batch are on the queue or none of them are.
> Hope that clarifies it a bit.

Tim Coote
tim at coote.org
vincit veritas

More information about the rabbitmq-discuss mailing list