public synchronized void participantCompleted (String participantId) throws InvalidParticipantException, WrongStateException, SystemException { if (participantId == null) throw new SystemException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_2()); int status = status(); // completed is only legitimate when the TX is in these states switch (status) { case ActionStatus.ABORTED: break; case ActionStatus.RUNNING: case ActionStatus.ABORT_ONLY: changeParticipantStatus(participantId, COMPLETED); break; default: throw new WrongStateException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_3()); } }
public synchronized void participantCompleted (String participantId) throws InvalidParticipantException, WrongStateException, SystemException { if (participantId == null) throw new SystemException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_2()); int status = status(); // completed is only legitimate when the TX is in these states switch (status) { case ActionStatus.ABORTED: break; case ActionStatus.RUNNING: case ActionStatus.ABORT_ONLY: changeParticipantStatus(participantId, COMPLETED); break; default: throw new WrongStateException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_3()); } }
public synchronized void participantCannotComplete (String participantId) throws InvalidParticipantException, WrongStateException, SystemException { if (participantId == null) throw new SystemException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_2()); int status = status(); // cannot complete is only legitimate when the TX is in these states switch (status) { case ActionStatus.RUNNING: // if a participant notifies this then we need to mark the transaction as abort only preventCommit(); // !!! deliberate drop through !!! case ActionStatus.ABORT_ONLY: changeParticipantStatus(participantId, DELISTED); break; default: throw new WrongStateException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_3()); } }
public synchronized void participantCannotComplete (String participantId) throws InvalidParticipantException, WrongStateException, SystemException { if (participantId == null) throw new SystemException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_2()); int status = status(); // cannot complete is only legitimate when the TX is in these states switch (status) { case ActionStatus.RUNNING: // if a participant notifies this then we need to mark the transaction as abort only preventCommit(); // !!! deliberate drop through !!! case ActionStatus.ABORT_ONLY: changeParticipantStatus(participantId, DELISTED); break; default: throw new WrongStateException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_3()); } }
public synchronized void participantFaulted (String participantId) throws InvalidParticipantException, SystemException { if (participantId == null) throw new SystemException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_2()); int status = status(); // faulted is only legitimate when the TX is in these states switch (status) { case ActionStatus.RUNNING: // if a participant notifies this then we need to mark the transaction as abort only preventCommit(); // !!! deliberate drop through !!! case ActionStatus.ABORT_ONLY: case ActionStatus.COMMITTING: case ActionStatus.COMMITTED: // this can happen during recovery processing case ActionStatus.ABORTING: changeParticipantStatus(participantId, FAILED); break; default: throw new SystemException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_3()); } }
default: throw new WrongStateException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_3());
default: throw new WrongStateException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_3());
public synchronized void participantFaulted (String participantId) throws InvalidParticipantException, SystemException { if (participantId == null) throw new SystemException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_2()); int status = status(); // faulted is only legitimate when the TX is in these states switch (status) { case ActionStatus.RUNNING: // if a participant notifies this then we need to mark the transaction as abort only preventCommit(); // !!! deliberate drop through !!! case ActionStatus.ABORT_ONLY: case ActionStatus.COMMITTING: case ActionStatus.COMMITTED: // this can happen during recovery processing case ActionStatus.ABORTING: changeParticipantStatus(participantId, FAILED); break; default: throw new SystemException( wscfLogger.i18NLogger.get_model_sagas_arjunacore_BACoordinator_3()); } }