simple explanation:
sybase XADatasource Driver is not 100% XA-compliant.
according to my bible:
(
http://docs.jboss.org/jbossas/jboss4guide/r5/html/ch7.chapt.html#ch7.jdbc...)
anonymous wrote :
| track-connection-by-tx: Specifying a true value for this element makes the connection
manager keep an xid to connection map and only put the connection back in the pool when
the transaction completes and all the connection handles are closed or disassociated (by
the method calls returning). As a side effect, we never suspend and resume the xid on the
connection's XAResource. This is the same connection tracking behavior used for local
transactions.
|
| The XA spec implies that any connection may be enrolled in any transaction using any
xid for that transaction at any time from any thread (suspending other transactions if
necessary). The original JCA implementation assumed this and aggressively delisted
connections and put them back in the pool as soon as control left the EJB they were used
in or handles were closed. Since some other transaction could be using the connection the
next time work needed to be done on the original transaction, there is no way to get the
original connection back. It turns out that most XADataSource driver vendors do not
support this, and require that all work done under a particular xid go through the same
connection.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4028450#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...