Terminar una instancia de proceso

A veces, es necesario que un usuario que tenga autorización de administrador de procesos, termine una instancia de proceso de nivel superior de la que se sabe que está en estado irrecuperable. Por ejemplo, cuando se invoca una aplicación y ésta falla, se produce un error y no regresa al estado de pausa.

Dado que una instancia de proceso termina inmediatamente, sin esperar a subprocesos o actividades pendientes, debe terminar una instancia de proceso sólo en situaciones excepcionales.

  1. Recupere la instancia de proceso que se ha de finalizar.
    ProcessInstanceData processInstance =
           process.getProcessInstance("CustomerOrder");
  2. Finalizar la instancia de proceso.

    Si termina una instancia de proceso, puede terminar la instancia de proceso con o sin compensación.

    Para finalizar la instancia de proceso sin compensación:
    PIID piid = processInstance.getID();
    process.forceTerminate(piid, CompensationBehaviour.INVOKE_COMPENSATION);
    Para finalizar la instancia de proceso sin compensación:
    PIID piid = processInstance.getID();
    process.forceTerminate(piid);

    Si termina la instancia de proceso con compensación, se llama al manejador de compensaciones para la plantilla de proceso. Si la plantilla no ha definido un manejador de compensaciones, se llama al manejador de compensaciones por omisión. Si ha terminado la instancia de proceso sin compensación, termina la instancia de proceso inmediatamente sin esperar a que las actividades finalicen normalmente.

    Las aplicaciones que el proceso inicia no se ven afectadas por la petición de forzar la terminación. Si se han de terminar estas aplicaciones, debe añadir sentencias a la aplicación del proceso que termina explícitamente las aplicaciones iniciadas por el proceso.


Condiciones de uso |

Última actualización: Wed Apr 19 21:34:07 2006

(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)