Anyone knows what do I have to change so that WebLogic Transaction manager works with a cluster ? I tested and I have it working by now with one server. How can I run it on a cluster ?
InterposedTransactionManager itm = TxHelper.getClientInterposedTransactionManager(initialCtx, serverName);
Is the second parameter I do believe needs to be changed !
That is the correct call - from the documentation:
If the initial context is obtained from a non-clustered server, then the server name specified should refer to the same server. If the initial context is obtained from a cluster, then the server name specified should refer to a server within the cluster.
Just pick any server in your cluster and it should still work the same way.
You will probably want to look into other options if you are clustering such as (Oracle API here):
Specifies whether recovery operations for a distributed transaction are applied to all the servers of the cluster hosting InterposedTransactionManager rather than just the server hosting the InterposedTransactionManager.