Interface RecoveryModule

All Known Subinterfaces:
ExtendedRecoveryModule, XTSRecoveryModule
All Known Implementing Classes:
ATCoordinatorRecoveryModule, AtomicActionRecoveryModule, ATParticipantRecoveryModule, BACoordinatorRecoveryModule, BAParticipantRecoveryModule, CommitMarkableResourceRecordRecoveryModule, InboundBridgeRecoveryManager, JCAServerTransactionRecoveryModule, OutboundBridgeRecoveryManager, ServerTransactionRecoveryModule, SubordinateATCoordinatorRecoveryModule, SubordinateAtomicActionRecoveryModule, SubordinateBACoordinatorRecoveryModule, TopLevelTransactionRecoveryModule, TORecoveryModule, XARecoveryModule, XARecoveryModule

public interface RecoveryModule
Interface for Recovery manager plug-in module. RecoveryModules are registered via the properties mechanisms. The periodicWorkFirstPass of each module is called, then RecoveryManager waits for the time interval RECOVERY_BACKOFF_PERIOD (seconds), then the periodicWorkSecondPass of each module are called. The RecoveryManager then waits for period PERIODIC_RECOVERY_PERIOD (seconds) before starting the first pass again The backoff period between the first and second pass is intended to allow transactions that were in-flight during the first pass to be completed normally, without requiring the status of each one to be checked. The recovery period will typically be appreciably longer.
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    Called by the RecoveryManager after the completion of the second pass.
    void
    Called by the RecoveryManager at start up, and then PERIODIC_RECOVERY_PERIOD seconds after the completion, for all RecoveryModules, of the second pass
    void
    Called by the RecoveryManager RECOVERY_BACKOFF_PERIOD seconds after the completion of the first pass
  • Method Details

    • periodicWorkFirstPass

      void periodicWorkFirstPass()
      Called by the RecoveryManager at start up, and then PERIODIC_RECOVERY_PERIOD seconds after the completion, for all RecoveryModules, of the second pass
    • periodicWorkSecondPass

      void periodicWorkSecondPass()
      Called by the RecoveryManager RECOVERY_BACKOFF_PERIOD seconds after the completion of the first pass
    • hasWorkLeftToDo

      default boolean hasWorkLeftToDo()
      Called by the RecoveryManager after the completion of the second pass.
      Returns:
      true if there is work left to do, false otherwise