Package com.microsoft.sqlserver.jdbc
Class SQLServerXAResource
- java.lang.Object
-
- com.microsoft.sqlserver.jdbc.SQLServerXAResource
-
- All Implemented Interfaces:
XAResource
public final class SQLServerXAResource extends Object implements XAResource
Provides an XAResource for XA distributed transaction management. XA transactions are implemented over SQL Server using Microsoft Distributed Transaction Manager (DTC). SQLServerXAResource makes calls to a SQL Server extended dll called SQLServer_XA.dll which interfaces with DTC. XA calls received by SQLServerXAResource (XA_START, XA_END, XA_PREPARE etc) are mapped to the corresponding calls to DTC functions. SQLServerXAResource may also be configured not to use DTC. In this case distributed transactions are simply implemented as local transactions.
-
-
Field Summary
Fields Modifier and Type Field Description static int
SSTRANSTIGHTLYCPLD
Used to allow the tightly coupled XA transactions, which have different XA branch transaction IDs (XIDs) but have the same global transaction ID (GTRID)-
Fields inherited from interface javax.transaction.xa.XAResource
TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
commit(Xid xid, boolean onePhase)
void
end(Xid xid, int flags)
void
forget(Xid xid)
int
getTransactionTimeout()
boolean
isSameRM(XAResource xares)
int
prepare(Xid xid)
Xid[]
recover(int flags)
void
rollback(Xid xid)
boolean
setTransactionTimeout(int seconds)
void
start(Xid xid, int flags)
String
toString()
-
-
-
Field Detail
-
SSTRANSTIGHTLYCPLD
public static final int SSTRANSTIGHTLYCPLD
Used to allow the tightly coupled XA transactions, which have different XA branch transaction IDs (XIDs) but have the same global transaction ID (GTRID)- See Also:
- Constant Field Values
-
-
Method Detail
-
start
public void start(Xid xid, int flags) throws XAException
- Specified by:
start
in interfaceXAResource
- Throws:
XAException
-
end
public void end(Xid xid, int flags) throws XAException
- Specified by:
end
in interfaceXAResource
- Throws:
XAException
-
prepare
public int prepare(Xid xid) throws XAException
- Specified by:
prepare
in interfaceXAResource
- Throws:
XAException
-
commit
public void commit(Xid xid, boolean onePhase) throws XAException
- Specified by:
commit
in interfaceXAResource
- Throws:
XAException
-
rollback
public void rollback(Xid xid) throws XAException
- Specified by:
rollback
in interfaceXAResource
- Throws:
XAException
-
forget
public void forget(Xid xid) throws XAException
- Specified by:
forget
in interfaceXAResource
- Throws:
XAException
-
recover
public Xid[] recover(int flags) throws XAException
- Specified by:
recover
in interfaceXAResource
- Throws:
XAException
-
isSameRM
public boolean isSameRM(XAResource xares) throws XAException
- Specified by:
isSameRM
in interfaceXAResource
- Throws:
XAException
-
setTransactionTimeout
public boolean setTransactionTimeout(int seconds) throws XAException
- Specified by:
setTransactionTimeout
in interfaceXAResource
- Throws:
XAException
-
getTransactionTimeout
public int getTransactionTimeout() throws XAException
- Specified by:
getTransactionTimeout
in interfaceXAResource
- Throws:
XAException
-
-