Package com.microsoft.sqlserver.jdbc
Class SQLServerXAResource
java.lang.Object
com.microsoft.sqlserver.jdbc.SQLServerXAResource
- All Implemented Interfaces:
javax.transaction.xa.XAResource
public final class SQLServerXAResource
extends java.lang.Object
implements javax.transaction.xa.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
Fields inherited from interface javax.transaction.xa.XAResource
TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY
-
Method Summary
Modifier and Type Method Description void
commit(javax.transaction.xa.Xid xid, boolean onePhase)
void
end(javax.transaction.xa.Xid xid, int flags)
void
forget(javax.transaction.xa.Xid xid)
int
getTransactionTimeout()
boolean
isSameRM(javax.transaction.xa.XAResource xares)
int
prepare(javax.transaction.xa.Xid xid)
javax.transaction.xa.Xid[]
recover(int flags)
void
rollback(javax.transaction.xa.Xid xid)
boolean
setTransactionTimeout(int seconds)
void
start(javax.transaction.xa.Xid xid, int flags)
java.lang.String
toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
SSTRANSTIGHTLYCPLD
public static final int SSTRANSTIGHTLYCPLD- See Also:
- Constant Field Values
-
-
Method Details
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-
start
public void start(javax.transaction.xa.Xid xid, int flags) throws javax.transaction.xa.XAException- Specified by:
start
in interfacejavax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
-
end
public void end(javax.transaction.xa.Xid xid, int flags) throws javax.transaction.xa.XAException- Specified by:
end
in interfacejavax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
-
prepare
public int prepare(javax.transaction.xa.Xid xid) throws javax.transaction.xa.XAException- Specified by:
prepare
in interfacejavax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
-
commit
public void commit(javax.transaction.xa.Xid xid, boolean onePhase) throws javax.transaction.xa.XAException- Specified by:
commit
in interfacejavax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
-
rollback
public void rollback(javax.transaction.xa.Xid xid) throws javax.transaction.xa.XAException- Specified by:
rollback
in interfacejavax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
-
forget
public void forget(javax.transaction.xa.Xid xid) throws javax.transaction.xa.XAException- Specified by:
forget
in interfacejavax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
-
recover
public javax.transaction.xa.Xid[] recover(int flags) throws javax.transaction.xa.XAException- Specified by:
recover
in interfacejavax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
-
isSameRM
public boolean isSameRM(javax.transaction.xa.XAResource xares) throws javax.transaction.xa.XAException- Specified by:
isSameRM
in interfacejavax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
-
setTransactionTimeout
public boolean setTransactionTimeout(int seconds) throws javax.transaction.xa.XAException- Specified by:
setTransactionTimeout
in interfacejavax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
-
getTransactionTimeout
public int getTransactionTimeout() throws javax.transaction.xa.XAException- Specified by:
getTransactionTimeout
in interfacejavax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
-