/** * End the current coordinator. */ private void ended() { changeState(State.STATE_ENDED) ; // participants which have not been recovered from the log can be deactivated now. // participants which have been recovered are left for the recovery thread to deactivate. // this is because the recovery thread may have timed out waiting for a response to // a close/cancel message and gone on to complete its scan and suspend. the next scan // will detect this activated participant and note that it has completed. if a crash // happens in between the recovery thread can safely recreate and reactivate the // participant and resend the commit since the commit/committed exchange is idempotent. if (!recovered) { CoordinatorCompletionCoordinatorProcessor.getProcessor().deactivateCoordinator(this) ; } }
/** * End the current coordinator. */ private void ended() { changeState(State.STATE_ENDED) ; // participants which have not been recovered from the log can be deactivated now. // participants which have been recovered are left for the recovery thread to deactivate. // this is because the recovery thread may have timed out waiting for a response to // a close/cancel message and gone on to complete its scan and suspend. the next scan // will detect this activated participant and note that it has completed. if a crash // happens in between the recovery thread can safely recreate and reactivate the // participant and resend the commit since the commit/committed exchange is idempotent. if (!recovered) { CoordinatorCompletionCoordinatorProcessor.getProcessor().deactivateCoordinator(this) ; } }
/** * End the current coordinator. */ private void ended() { changeState(State.STATE_ENDED) ; // participants which have not been recovered from the log can be deactivated now. // participants which have been recovered are left for the recovery thread to deactivate. // this is because the recovery thread may have timed out waiting for a response to // a close/cancel message and gone on to complete its scan and suspend. the next scan // will detect this activated participant and note that it has completed. if a crash // happens in between the recovery thread can safely recreate and reactivate the // participant and resend the commit since the commit/committed exchange is idempotent. if (!recovered) { CoordinatorCompletionCoordinatorProcessor.getProcessor().deactivateCoordinator(this) ; } }
(current == State.STATE_CANCELING_COMPLETING) || (current == State.STATE_COMPLETING)) changeState(State.STATE_EXITING) ;
(current == State.STATE_CANCELING_COMPLETING) || (current == State.STATE_COMPLETING)) changeState(State.STATE_EXITING) ;
(current == State.STATE_CANCELING_COMPLETING) || (current == State.STATE_COMPLETING)) changeState(State.STATE_EXITING) ;
if (current == State.STATE_ACTIVE) changeState(State.STATE_CANCELING_ACTIVE) ; changeState(State.STATE_CANCELING_COMPLETING) ;
if (current == State.STATE_ACTIVE) changeState(State.STATE_COMPLETING) ;
if (current == State.STATE_ACTIVE) changeState(State.STATE_CANCELING_ACTIVE) ; changeState(State.STATE_CANCELING_COMPLETING) ;
if (current == State.STATE_ACTIVE) changeState(State.STATE_COMPLETING) ;
if (current == State.STATE_ACTIVE) changeState(State.STATE_COMPLETING) ;
(current == State.STATE_CANCELING_COMPLETING)) changeState(State.STATE_NOT_COMPLETING) ;
if ((current == State.STATE_CANCELING_COMPLETING) || (current == State.STATE_COMPLETING)) changeState(State.STATE_COMPLETED) ;
if ((current == State.STATE_CANCELING_COMPLETING) || (current == State.STATE_COMPLETING)) changeState(State.STATE_COMPLETED) ;
if ((current == State.STATE_CANCELING_COMPLETING) || (current == State.STATE_COMPLETING)) changeState(State.STATE_COMPLETED) ;
if (current == State.STATE_COMPLETED) changeState(State.STATE_COMPENSATING) ;
if (current == State.STATE_COMPLETED) changeState(State.STATE_CLOSING) ;
if (current == State.STATE_COMPLETED) changeState(State.STATE_CLOSING) ;
if (current == State.STATE_COMPLETED) changeState(State.STATE_COMPENSATING) ;
if (current == State.STATE_COMPLETED) changeState(State.STATE_COMPENSATING) ;