"jhalliday" wrote : > The ClientUserTransaction is only a proxy to a real
transaction on the server so JTS is irrelevant for normal clients
|
| Unfortunately not. If a normal (i.e. without ORB) client is using UT to communicate to
a server and that server is switched from the JTA to the JTS, the client will break. Of
course that may be a bug rather than a design issue.
|
| Then there is the question of what the behaviour should be when the client is using
RMI/IIOP rather than JRMP for transactional calls to the server. Should it need the
JBossTS libraries, or should it continue to use UT? What if it wants to switch to
JBossTS? Using either the JTA API or the CORBA API for transaction demarcation.
So you're saying the TPC obtained by UserTransactionSessionImpl is not usable
by the client when JTS is installed on the server?
| public Object begin(int timeout)
| throws RemoteException,
| NotSupportedException,
| SystemException
| {
| TransactionManager tm = getTransactionManager();
| // Set timeout value
| tm.setTransactionTimeout(timeout);
| // Start tx, and get its TPC.
| tm.begin();
| Object tpc = getTPCFactory().getTransactionPropagationContext(); // HERE !!!!
| // Suspend thread association.
| Transaction tx = tm.suspend();
| // Remember that a new tx is now active.
| activeTx.put(tpc, tx);
| // return the TPC
| return tpc;
| }
|
In that case, it is a bug.
We probably need some new api to differentiate the two use cases
of getTPC().
1) When propogating calls to other servers
2) When retrieving a TPC usuable by a client to control UTs.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4173359#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...