You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Remo Gloor (JIRA)" <ji...@apache.org> on 2013/02/20 00:25:12 UTC
[jira] [Created] (AMQNET-414) Exception thrown when using DTC in
multiple processes connected to the same broker
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