Class SubordinateAtomicActionRecoveryModule

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

public class SubordinateAtomicActionRecoveryModule extends Object implements RecoveryModule
This class is purely used by the recovery system to load the transactions into memory so we can be sure that orphan detection can find the TransactionImple if the EIS has not called XATerminator::recover yet At the time of writing this module is utilized by the SubordinationManagerXAResourceOrphanFilter to ensure that it can check with the SubordinationManager if the transaction is in flight during orphan detection.
  • Constructor Details

    • SubordinateAtomicActionRecoveryModule

      public SubordinateAtomicActionRecoveryModule()
  • Method Details

    • 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
    • isRecoveryScanCompletedWithoutError

      public boolean isRecoveryScanCompletedWithoutError()
      Used to ensure that the orphan detection has fully loaded the transaction state before asserting a decision.
      Returns:
      Whether the last recovery scan completed without an error