The real question you should ask yourself first is: what do you want to use the clustering for? Answers will then seem logical.
So, what are you trying to solve?
what we want to implement is client-server application communicating with more databases together. We proposed to use DAO pattern for this. We will use global transactions, so business layer will make call like:
beginTransaction(); dao1.insert(data); dao2.update(data); commitTransaction();
where dao1 can be Oracle database and dao2 can be DB2 database, for example.
As we are expecting a lot of user requests at a time, we will probably need to set up a cluster environment and thus transaction manager will probably need to divide some tasks into nodes.
Sometimes I can see using of Tyrex in JBoss, but I really cannot find any reason for this. Is it better configurable, more powerfull?
don't try to share the load of ONE user i.e. by sharing calls from ONE user to multiple nodes, but instead try to share the load AMONG users => each user will dynamicaly use a different node => no problem of Transaction any more, keep it simply, a Tx started on a node will finish on that node, NO NEED for costly, slow distributed transaction.
Forget about tyrex, it doesn't implement logging, recovery, etc. => everything that should compose a real DTM.
If you really need a DTM (which doesn't to be your specific case), then don't use a toy but use a real strong implementation such as Arjuna DTM. It is fully integrated in JBoss.
Thanks for the replay!
I was just wondering what is the Tyrex about, if it is better than JBoss TM or why should/should not we use it as it is (for 3.2 was) also included in JBoss distribution package.
Tyrex is advertised as a DTM (distributed TM), while JBossTM is a local TM (XA and non-XA)