프로세스 인스턴스 종료

때때로 프로세스 관리자 권한이 있는 사용자가 복구 불가능 상태로 인식되는 맨 위 레벨 프로세스 인스턴스를 종료시킬 필요가 있습니다. 프로세스 인스턴스는 처리되지 않은 서브프로세스 또는 활동의 완료를 대기하지 않고 즉시 종료되기 때문에 예외적인 상황에서만 프로세스 인스턴스를 종료해야 합니다.

이 타스크의 단계

  1. 종료해야하는 프로세스 인스턴스를 검색하십시오.
    ProcessInstanceData processInstance =
           process.getProcessInstance("CustomerOrder");
  2. 프로세스 인스턴스를 종료하십시오.

    프로세스 인스턴스를 종료하는 경우 보상 여부에 관계없이 프로세스를 종료할 수 있습니다.

    보상이 있는 상태로 프로세스 인스턴스를 종료하려면 다음을 수행하십시오.
    PIID piid = processInstance.getID();
    process.forceTerminate(piid, CompensationBehaviour.INVOKE_COMPENSATION);
    보상 없이 프로세스 인스턴스를 종료하려면 다음을 수행하십시오.
    PIID piid = processInstance.getID();
    process.forceTerminate(piid);

    보상이 있는 상태로 프로세스 인스턴스를 종료하려면 프로세스 템플리트용으로 정의된 보상 핸들러가 호출됩니다. 프로세스 템플리트에 정의된 보상 핸들러가 없는 경우 기본 보상 핸들러가 호출됩니다. 보상 없이 프로세스 인스턴스를 종료한 경우, 프로세스 인스턴스는 활동을 대기하거나 타스크에 참여하거나 인라인 시작 타스크가 정상적으로 종료되기를 기다리지 않고 즉시 종료됩니다.

    프로세스와 관련된 프로세스 및 독립형 타스크에 의해 시작된 응용프로그램은 강제 종료 요청으로 종료되지 않습니다. 이 응용프로그램이 종료되는 경우, 프로세스가 시작한 응용프로그램을 명시적으로 종료하는 명령문을 프로세스 응용프로그램에 추가해야 합니다.


ⓒ Copyright IBM Corporation 2005, 2006.
이 Information Center는 Eclipse 기술을 기반으로 합니다. (http://www.eclipse.org)