Class OracleXADataSourceImpl

  • All Implemented Interfaces:
    Serializable, Wrapper, Referenceable, CommonDataSource, ConnectionPoolDataSource, DataSource, XADataSource, OracleCommonDataSource, OracleConnectionPoolDataSource, OracleDataSource, OracleXADataSource, oracle.jdbc.internal.Monitor, oracle.jdbc.replay.internal.OracleConnectionPoolDataSource, oracle.jdbc.replay.internal.OracleDataSource, oracle.jdbc.replay.internal.OracleXADataSource, OracleConnectionPoolDataSource, OracleDataSource, OracleXADataSource

    public class OracleXADataSourceImpl
    extends OracleXADataSource

    XADataSource implementation that provides Application Continuity protection for applications using only local transactions or local transactions that are promotable to global/XA transactions.

    Both JDBC and Java Transaction API (JTA) allow a JDBC connection to interchangeably participate in local and global/XA transactions. However, many customer applications obtain connections from an XA data source, but use these connections to perform only local transactions. These applications can use this data source to get AC protection.

    Whenever an underlying physical connection starts to participate in a global/XA transaction, or engage in any XA operation, replay is disabled on that connection. The XA operations function normally, but the application does not get Application Continuity protection.

    Once replay is disabled on a connection for the above reasons, it remains disabled until the next request begin. Switching from global/XA transaction to local transaction mode does not automatically re-enable replay on a connection.

    The following example illustrates the use of this data source to create a JDBC XAConnection:

      
        oracle.jdbc.xa.client.OracleXADataSource oxads =
          new oracle.jdbc.xa.client.OracleXADataSource();
        oxads.setURL("jdbc:oracle:thin:@//dbhost:dbport/dbservice");
        oxads.setUser("User");
        oxads.setPassword("Passwd");
        oxads.setConnectionProperty("connProp1", "value1");
        oxads.setConnectionProperty("connProp2", "value2");
     
        javax.sql.XAConnection xaconn = oxads.getXAConnection();
      
      

    The following example illustrates the use of a connection obtained from this data source for Application Continuity protection:

      
        oracle.jdbc.replay.OracleXADataSource rxads =
          new oracle.jdbc.replay.OracleXADataSourceImpl();
        rxads.setURL("jdbc:oracle:thin:@//dbhost:dbport/dbservice");
        rxads.setUser("User");
        rxads.setPassword("Passwd");
        rxads.setConnectionProperty("connProp1", "value1");
        rxads.setConnectionProperty("connProp2", "value2");
     
        XAConnection xaconn = rxads.getXAConnection();
        Connection conn = xaconn.getConnection();  // Implicit request begin
        ......  // JDBC calls protected by Application Continuity
        conn.close();  // Implicit request end
      
      

    See Also:
    Serialized Form