/** * Tests if there may be unknown coordinator entries in the recovery log. * * @return false if there may be unknown coordinator entries in the recovery log. */ private static boolean areRecoveryLogEntriesAccountedFor() { return (XTSBARecoveryManager.getRecoveryManager().isCoordinatorRecoveryStarted() && XTSBARecoveryManager.getRecoveryManager().isSubordinateCoordinatorRecoveryStarted()); } }
public void setSubordinateCoordinatorRecoveryStarted() { subordinateCoordinateRecoveryStarted = true; // see if we are now in a position to cull any orphaned subordinate transactions cullOrphanedSubordinates(); }
/** * called by the service shutdown code after the recovery module is removed from the recovery managers * module list */ public void uninstall() { XTSBARecoveryManager.getRecoveryManager().unregisterRecoveryModule(subordinateRecoveryModule); }
/** * called by the service startup code before the recovery module is added to the recovery managers * module list */ public void install() { // the manager is needed by both the participant or the coordinator recovery modules so whichever // one gets there first creates it. No synchronization is needed as modules are only ever // installed in a single thread XTSBARecoveryManager baRecoveryManager = XTSBARecoveryManager.getRecoveryManager(); if (baRecoveryManager == null) { baRecoveryManager = new XTSBARecoveryManagerImple(_recoveryStore); XTSBARecoveryManager.setRecoveryManager(baRecoveryManager); } // Subordinate Coordinators register durable participants with their parent transaction so // we need to add an XTSBARecoveryModule which knows about the registered participants subordinateRecoveryModule = new XTSBASubordinateRecoveryModule(); baRecoveryManager.registerRecoveryModule(subordinateRecoveryModule); }
/** * called by the service startup code before the recovery module is added to the recovery managers * module list */ public void install() { // the manager is needed by both the participant or the coordinator recovery modules so whichever // one gets there first creates it. No synchronization is needed as modules are only ever // installed in a single thread XTSBARecoveryManager baRecoveryManager = XTSBARecoveryManager.getRecoveryManager(); if (baRecoveryManager == null) { baRecoveryManager = new XTSBARecoveryManagerImple(_recoveryStore); XTSBARecoveryManager.setRecoveryManager(baRecoveryManager); } Implementations.install(); }
public void periodicWorkSecondPass() { if (RecoveryLogger.logger.isDebugEnabled()) { RecoveryLogger.logger.debug("BAParticipantRecoveryModule: Second pass"); } processParticipantsStatus() ; }
/** * called by the service startup code before the recovery module is added to the recovery managers * module list */ public void install() { // the manager is needed by both the participant or the coordinator recovery modules so whichever // one gets there first creates it. No synchronization is needed as modules are only ever // installed in a single thread XTSBARecoveryManager baRecoveryManager = XTSBARecoveryManager.getRecoveryManager(); if (baRecoveryManager == null) { baRecoveryManager = new XTSBARecoveryManagerImple(_recoveryStore); XTSBARecoveryManager.setRecoveryManager(baRecoveryManager); } // Subordinate Coordinators register durable participants with their parent transaction so // we need to add an XTSBARecoveryModule which knows about the registered participants subordinateRecoveryModule = new XTSBASubordinateRecoveryModule(); baRecoveryManager.registerRecoveryModule(subordinateRecoveryModule); }
/** * Tests if there may be unknown coordinator entries in the recovery log. * * @return false if there may be unknown coordinator entries in the recovery log. */ private static boolean areRecoveryLogEntriesAccountedFor() { return (XTSBARecoveryManager.getRecoveryManager().isCoordinatorRecoveryStarted() && XTSBARecoveryManager.getRecoveryManager().isSubordinateCoordinatorRecoveryStarted()); } }
/** * called by the service startup code before the recovery module is added to the recovery managers * module list */ public void install() { // the manager is needed by both the participant or the coordinator recovery modules so whichever // one gets there first creates it. No synchronization is needed as modules are only ever // installed in a single thread XTSBARecoveryManager baRecoveryManager = XTSBARecoveryManager.getRecoveryManager(); if (baRecoveryManager == null) { baRecoveryManager = new XTSBARecoveryManagerImple(_recoveryStore); XTSBARecoveryManager.setRecoveryManager(baRecoveryManager); } Implementations.install(); }
/** * called by the service shutdown code after the recovery module is removed from the recovery managers * module list */ public void uninstall() { XTSBARecoveryManager.getRecoveryManager().unregisterRecoveryModule(subordinateRecoveryModule); }
public void setSubordinateCoordinatorRecoveryStarted() { subordinateCoordinateRecoveryStarted = true; // see if we are now in a position to cull any orphaned subordinate transactions cullOrphanedSubordinates(); }
public void periodicWorkSecondPass() { if (RecoveryLogger.logger.isDebugEnabled()) { RecoveryLogger.logger.debug("BAParticipantRecoveryModule: Second pass"); } processParticipantsStatus() ; }
/** * called by the service startup code before the recovery module is added to the recovery managers * module list */ public void install() { // the manager is needed by both the participant or the coordinator recovery modules so whichever // one gets there first creates it. No synchronization is needed as modules are only ever // installed in a single thread XTSBARecoveryManager baRecoveryManager = XTSBARecoveryManager.getRecoveryManager(); if (baRecoveryManager == null) { baRecoveryManager = new XTSBARecoveryManagerImple(_recoveryStore); XTSBARecoveryManager.setRecoveryManager(baRecoveryManager); } // Subordinate Coordinators register durable participants with their parent transaction so // we need to add an XTSBARecoveryModule which knows about the registered participants subordinateRecoveryModule = new XTSBASubordinateRecoveryModule(); baRecoveryManager.registerRecoveryModule(subordinateRecoveryModule); }
/** * Tests if there may be unknown coordinator entries in the recovery log. * * @return false if there may be unknown coordinator entries in the recovery log. */ private static boolean areRecoveryLogEntriesAccountedFor() { return (XTSBARecoveryManager.getRecoveryManager().isCoordinatorRecoveryStarted() && XTSBARecoveryManager.getRecoveryManager().isSubordinateCoordinatorRecoveryStarted()); } }
/** * called by the service startup code before the recovery module is added to the recovery managers * module list */ public void install() { // the manager is needed by both the participant or the coordinator recovery modules so whichever // one gets there first creates it. No synchronization is needed as modules are only ever // installed in a single thread XTSBARecoveryManager baRecoveryManager = XTSBARecoveryManager.getRecoveryManager(); if (baRecoveryManager == null) { baRecoveryManager = new XTSBARecoveryManagerImple(_recoveryStore); XTSBARecoveryManager.setRecoveryManager(baRecoveryManager); } Implementations.install(); }
/** * called by the service shutdown code after the recovery module is removed from the recovery managers * module list */ public void uninstall() { XTSBARecoveryManager.getRecoveryManager().unregisterRecoveryModule(subordinateRecoveryModule); }
public void setSubordinateCoordinatorRecoveryStarted() { subordinateCoordinateRecoveryStarted = true; // see if we are now in a position to cull any orphaned subordinate transactions cullOrphanedSubordinates(); }
/** * Tests if there may be unknown coordinator entries in the recovery log. * * @return false if there may be unknown coordinator entries in the recovery log. */ private static boolean areRecoveryLogEntriesAccountedFor() { return (XTSBARecoveryManager.getRecoveryManager().isCoordinatorRecoveryStarted() && XTSBARecoveryManager.getRecoveryManager().isSubordinateCoordinatorRecoveryStarted()); } }
/** * Tests if there may be unknown coordinator entries in the recovery log. * * @return false if there may be unknown coordinator entries in the recovery log. */ private static boolean areRecoveryLogEntriesAccountedFor() { return (XTSBARecoveryManager.getRecoveryManager().isCoordinatorRecoveryStarted() && XTSBARecoveryManager.getRecoveryManager().isSubordinateCoordinatorRecoveryStarted()); } }
/** * Tests if there may be unknown coordinator entries in the recovery log. * * @return false if there may be unknown coordinator entries in the recovery log. */ private static boolean areRecoveryLogEntriesAccountedFor() { return (XTSBARecoveryManager.getRecoveryManager().isCoordinatorRecoveryStarted() && XTSBARecoveryManager.getRecoveryManager().isSubordinateCoordinatorRecoveryStarted()); } }