java.lang.Object
com.arjuna.ats.internal.jts.orbspecific.javaidl.recoverycoordinators.JavaIdlRCManager
All Implemented Interfaces:
RcvCoManager

public class JavaIdlRCManager extends Object implements RcvCoManager
Implementation of RecoveryCreator for JavaIdl orb Handles the creation of RecoveryCoordinator objects for JavaIdl orb. The RCs are created locally but also will be recreated in the RecoveryManager if necessary following a crash of this process.
  • Field Details

    • ref_ReCoo

      protected static String ref_ReCoo
  • Constructor Details

    • JavaIdlRCManager

      public JavaIdlRCManager()
  • Method Details

    • makeRC

      public RecoveryCoordinator makeRC(Uid RCUid, Uid tranUid, Uid processUid, boolean isServerTransaction)
      We create a RecoveryCoordinator reference, but without (we think) actually making the implementation object available to the orb. The data needed to construct the RecoveryCoordinator is put in the ObjectId. If a replay_completion is received, it will be sent, via the locationd daemon, to the RecoveryManager.
      Specified by:
      makeRC in interface RcvCoManager
      Parameters:
      RCUid - The Uid of this RecoveryCoordinator. Used to identify this branch when replacing the original Resource reference with one received in replay_completion.
      tranUid - The Uid of the transaction.
      processUid - The Uid of the originating process. Used by RecoveryManager to determine whether the original process is still working on the transaction.
      isServerTransaction - Flag to indicate whether this is a root or intermediate coordinator.
    • destroy

      public void destroy(RecoveryCoordinator rc) throws org.omg.CORBA.SystemException
      Description copied from interface: RcvCoManager
      The RecoveryCoordinator instance is no longer needed. Will be a null-op in environments where there is no real implementation object.
      Specified by:
      destroy in interface RcvCoManager
      Throws:
      org.omg.CORBA.SystemException
    • destroyAll

      public void destroyAll(Object[] params) throws org.omg.CORBA.SystemException
      Description copied from interface: RcvCoManager
      The RecoveryCoordinator instances used by the transactions whose Uids are in params are no longer needed. Will be a null-op in environments where there is no real implementation object.
      Specified by:
      destroyAll in interface RcvCoManager
      Throws:
      org.omg.CORBA.SystemException