Remo Gloor created AMQNET-414:
---------------------------------

             Summary: Exception thrown when using DTC in multiple processes 
connected to the same broker
                 Key: AMQNET-414
                 URL: https://issues.apache.org/jira/browse/AMQNET-414
             Project: ActiveMQ .Net
          Issue Type: Bug
            Reporter: Remo Gloor
            Assignee: Jim Gomes
            Priority: Critical


When using DTC in multiple processes that access the same broker instance all 
but the first instance can't enlist to the transaction. All other throw an 
exception that there is already a resource manager with the same id. This only 
happens in case another resource manager like a db server is enlisted on the 
transaction.

This happens because they all processes connected to one broker instance use 
the same resource manager ID. It is a Guid generated from the broker id.

I doubt that there is any good ID that is unique to the process instance but 
still the same on restart (e.g. connection/client id change on reboot). Is 
there any other?

If not the resource manager id has be configurable somehow by the application.

An other option (the one that should be prefered) is to enlist as promotable 
single phase enlistment. But this would require that the ActiveMQ server is 
responsible for the transaction as soon as it gets promoted. This would require 
changes in the server itsself though but make the system much more robust.

http://msdn.microsoft.com/en-us/library/ms229980(v=vs.80).aspx

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to