Class CommitMarkableResourceRecordRecoveryModule

java.lang.Object
com.arjuna.ats.internal.jta.recovery.arjunacore.CommitMarkableResourceRecordRecoveryModule
All Implemented Interfaces:
RecoveryModule

public class CommitMarkableResourceRecordRecoveryModule extends Object implements RecoveryModule
This CommitMarkableResourceRecord assumes the following table has been created: create table xids (xid varbinary(255), transactionManagerID varchar(255)) (ora/syb/mysql) create table xids (xid bytea, transactionManagerID varchar(255)) (psql) sp_configure "lock scheme",0,datarows (syb) The CommitMarkableResourceRecord does not support nested transactions TODO you have to set max_allowed_packet for large reaps on mysql
  • Constructor Details

  • Method Details

    • notifyOfCompletedBranch

      public void notifyOfCompletedBranch(String commitMarkableResourceJndiName, Xid xid)
    • periodicWorkFirstPass

      public void periodicWorkFirstPass()
      Description copied from interface: RecoveryModule
      Called by the RecoveryManager at start up, and then PERIODIC_RECOVERY_PERIOD seconds after the completion, for all RecoveryModules, of the second pass
      Specified by:
      periodicWorkFirstPass in interface RecoveryModule
    • periodicWorkSecondPass

      public void periodicWorkSecondPass()
      Description copied from interface: RecoveryModule
      Called by the RecoveryManager RECOVERY_BACKOFF_PERIOD seconds after the completion of the first pass
      Specified by:
      periodicWorkSecondPass in interface RecoveryModule
    • wasCommitted

      public boolean wasCommitted(String jndiName, Xid xid) throws ObjectStoreException
      Can only be called after the first phase has executed
      Parameters:
      xid -
      Returns:
      whether the Xid was commited by the resource manager
      Throws:
      ObjectStoreException - if the resource manager was offline