/** * Forget the current coordinator. */ private void forget() { // first, change state to null to indicate that the participant has completed. changeState(null) ; // 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 // the commit 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) { CoordinatorProcessor.getProcessor().deactivateCoordinator(this) ; } }
/** * Forget the current coordinator. */ private void forget() { // first, change state to null to indicate that the participant has completed. changeState(null) ; // 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 // the commit 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) { CoordinatorProcessor.getProcessor().deactivateCoordinator(this) ; } }
/** * Forget the current coordinator. */ private void forget() { // first, change state to null to indicate that the participant has completed. changeState(null) ; // 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 // the commit 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) { CoordinatorProcessor.getProcessor().deactivateCoordinator(this) ; } }
CoordinatorProcessor.getProcessor().deactivateCoordinator(this) ;
CoordinatorProcessor.getProcessor().deactivateCoordinator(this) ;
CoordinatorProcessor.getProcessor().deactivateCoordinator(this) ;