[rabbitmq-discuss] Transaction Dependencies

Tim Fox tim at rabbitmq.com
Wed Apr 13 15:02:20 BST 2011


RabbitMQ clients don't expose any sort of XA/JTA interface so enlisting 
a Rabbit local tx in a larger global XA tx won't be possible.

You can probably find other ways to ensure atomicity by some kind of 
resend approach and detecting duplicates.

On -10/01/37 20:59, Vaughn Vernon wrote:
> Hey,
>
> How do you recommend handling the case where a local application 
> database transaction may commit or rollback, and you don't want to 
> publish the event unless it commits? In other words:
>
> 1 - application transaction begins
>     2 - application writes to database
>     3 - rmq message published (publish must succeed for application 
> transaction to succeed)
> 4 - application transaction commits; however, issue occurs, 
> transaction does not complete; must prevent rmq publish
>
> Can't move #3 after #4 because the possibility exists that rmq publish 
> will fail and message will never be published.
>
> This points to 2pc of application and rmq, but unavailable for the 
> application database. BTW, does rmq 2pc with other databases?
>
> Vaughn
>
> --
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110413/63ad40e6/attachment.htm>


More information about the rabbitmq-discuss mailing list