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

  • Method Details

    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • start

      public void start​(javax.transaction.xa.Xid xid, int flags) throws javax.transaction.xa.XAException
      Specified by:
      start in interface javax.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 interface javax.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 interface javax.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 interface javax.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 interface javax.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 interface javax.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 interface javax.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 interface javax.transaction.xa.XAResource
      Throws:
      javax.transaction.xa.XAException
    • setTransactionTimeout

      public boolean setTransactionTimeout​(int seconds) throws javax.transaction.xa.XAException
      Specified by:
      setTransactionTimeout in interface javax.transaction.xa.XAResource
      Throws:
      javax.transaction.xa.XAException
    • getTransactionTimeout

      public int getTransactionTimeout() throws javax.transaction.xa.XAException
      Specified by:
      getTransactionTimeout in interface javax.transaction.xa.XAResource
      Throws:
      javax.transaction.xa.XAException