[rabbitmq-discuss] Transaction Dependencies

Vaughn Vernon vvernon at shiftmethod.com
Wed Apr 13 15:59:19 BST 2011


Thanks much, Tim. That helps me make a decision. I always assign a 
message id so I can use message de-duplication at the subscriber side. I 
may use message command idempotence in some cases.

Kind regards,

Vaughn

--

On 4/13/2011 8:02 AM, Tim Fox wrote:
> 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
>
>
> _______________________________________________
> 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/0fc4ff47/attachment.htm>


More information about the rabbitmq-discuss mailing list