Class GenericRecoveryCreator

java.lang.Object
com.arjuna.ats.internal.jts.recovery.RecoveryCreator
com.arjuna.ats.internal.jts.recovery.recoverycoordinators.GenericRecoveryCreator

public class GenericRecoveryCreator extends RecoveryCreator
Implementation of RecoveryCreator. Orb-specific aspects, especially the specific construction of the RecoveryCoordinator IOR are delegated to an implementation of RcvCoManager. The RCs may be created locally (depends on the orb-specific mechanisms) but will be recreated in the RecoveryManager if called there (possibly following a crash of this process).
  • Method Details

    • register

      public static void register(RcvCoManager theManager)
      Create an instance of this class, which will delegate the orb-specific aspects to the supplied RcvCoManager instance and register it with the transaction service.
    • create

      public RecoveryCoordinator create(Resource res, Object[] params) throws org.omg.CORBA.SystemException
      Create a new RecoveryCoordinator for Resource res. The params array is used to pass additional data. Currently params[0] is the ArjunaTransactionImple ref. When create returns additional data is passed back using params. Currently returned params[0] is the RecoveryCoordinator Uid.
      Specified by:
      create in class RecoveryCreator
      Throws:
      org.omg.CORBA.SystemException
    • destroy

      public void destroy(RecoveryCoordinator rc) throws org.omg.CORBA.SystemException
      The RC instance is not longer needed by the application. This is a null-op for orb environments that do not actually create RC objects in the original process.
      Specified by:
      destroy in class RecoveryCreator
      Throws:
      org.omg.CORBA.SystemException
    • destroyAll

      public void destroyAll(Object[] params) throws org.omg.CORBA.SystemException
      Destroy all RC instances for the transactions identified in params. This is a null-op for orb environments that do not actually create RC objects in the original process.
      Specified by:
      destroyAll in class RecoveryCreator
      Throws:
      org.omg.CORBA.SystemException
    • getRecCoordServiceName

      public static String getRecCoordServiceName()
      Get the service name. This ties the recoverycoordinators whose IOR's are created here with the RecoveryManager that will recreate them in recovery.