/** * look for recovered subordinate transactions which do not have an associated proxy participant * rolling back any that are found. this only needs doing once after the first participant and * subordinate transaction recovery passes have both completed */ private void cullOrphanedSubordinates() { if (culledOrphanSubordinates || !(subordinateCoordinateRecoveryStarted && participantRecoveryStarted)) { return; } culledOrphanSubordinates = true; SubordinateBACoordinator[] coordinators = SubordinateBACoordinator.listRecoveredCoordinators(); for (SubordinateBACoordinator coordinator : coordinators) { if (coordinator.isOrphaned()) { RecoveryLogger.i18NLogger.warn_participant_ba_XTSBARecoveryModule_5(coordinator.get_uid()); coordinator.cancel(); } } }
/** * look for recovered subordinate transactions which do not have an associated proxy participant * rolling back any that are found. this only needs doing once after the first participant and * subordinate transaction recovery passes have both completed */ private void cullOrphanedSubordinates() { if (culledOrphanSubordinates || !(subordinateCoordinateRecoveryStarted && participantRecoveryStarted)) { return; } culledOrphanSubordinates = true; SubordinateBACoordinator[] coordinators = SubordinateBACoordinator.listRecoveredCoordinators(); for (SubordinateBACoordinator coordinator : coordinators) { if (coordinator.isOrphaned()) { RecoveryLogger.i18NLogger.warn_participant_ba_XTSBARecoveryModule_5(coordinator.get_uid()); coordinator.cancel(); } } }
/** * look for recovered subordinate transactions which do not have an associated proxy participant * rolling back any that are found. this only needs doing once after the first participant and * subordinate transaction recovery passes have both completed */ private void cullOrphanedSubordinates() { if (culledOrphanSubordinates || !(subordinateCoordinateRecoveryStarted && participantRecoveryStarted)) { return; } culledOrphanSubordinates = true; SubordinateBACoordinator[] coordinators = SubordinateBACoordinator.listRecoveredCoordinators(); for (SubordinateBACoordinator coordinator : coordinators) { if (coordinator.isOrphaned()) { RecoveryLogger.i18NLogger.warn_participant_ba_XTSBARecoveryModule_5(coordinator.get_uid()); coordinator.cancel(); } } }
public void cancel() throws FaultedException, WrongStateException, SystemException { if (!recovered) { int result = coordinator.cancel(); if (result != ActionStatus.ABORTED) { throw new FaultedException("failed to compensate subordinate transaction " + coordinatorId); coordinator.cancel(); SubordinateBACoordinator.removeActiveProxy(coordinatorId);
public void cancel() throws FaultedException, WrongStateException, SystemException { if (!recovered) { int result = coordinator.cancel(); if (result != ActionStatus.ABORTED) { throw new FaultedException("failed to compensate subordinate transaction " + coordinatorId); coordinator.cancel(); SubordinateBACoordinator.removeActiveProxy(coordinatorId);
public void cancel() throws FaultedException, WrongStateException, SystemException { if (!recovered) { int result = coordinator.cancel(); if (result != ActionStatus.ABORTED) { throw new FaultedException("failed to compensate subordinate transaction " + coordinatorId); coordinator.cancel(); SubordinateBACoordinator.removeActiveProxy(coordinatorId);