Inicio de un proceso de larga ejecución que contiene un servicio de arranque exclusivo

Si el servicio de arranque es exclusivo, puede utilizar el método initiate y pasar el nombre de la plantilla de proceso como un parámetro. Este es el caso, cuando el proceso de larga ejecución se inicia con una sola actividad de recepción o de obtención y cuando la actividad de obtención individual solamente tiene una definición onMessage.
  1. Opcional: Listar las plantillas de proceso para encontrar el nombre del proceso que desea iniciar.

    Este paso es opcional si ya sabe el nombre del proceso.

    ProcessTemplateData[] processTemplates = process.queryProcessTemplates
      ("PROCESS_TEMPLATE.EXECUTION_MODE.EXCECUTION_MODE_LONG_RUNNING",
       "PROCESS_TEMPLATE.NAME",
        new Integer(50),
        null);

    El resultado se clasifica por nombre. La consulta devuelve una matriz que contiene las 50 primeras plantillas clasificadas que se pueden iniciar mediante el método initiate.

  2. Iniciar el proceso con un mensaje de entrada del tipo adecuado.

    Cuando cree el mensaje, debe especificar el nombre del tipo de mensaje, para que contenga la definición del mensaje. Si especifica un nombre de instancia de proceso, no debe comenzar con el carácter de subrayado. Si no se ha especificado un nombre de instancia de proceso, se utiliza como nombre el ID de instancia de proceso (PIID) con formato de serie.

    ProcessTemplateData template = processTemplates[0];
    //crear un mensaje sólo para la actividad de recepción inicial
    ClientObjectWrapper input = process.createMessage
                                (template.getID(),
                                template.getInputMessageTypeName());
    DataObject myMessage = null;
    if ( input.getObject()!= null && input.getObject() instanceof DataObject )
    {
      myMessage = (DataObject)input.getObject();
      //establecer las series del mensaje, por ejemplo, un nombre de cliente
      myMessage.setString("CustomerName", "Smith");
    }
    //iniciar el proceso
    PIID piid = process.initiate(template.getName(), "CustomerOrder", input);

    Esta acción crea una instancia, CustomerOrder, y pasa algunos datos al cliente. Cuando se inicia el proceso, la operación devuelve el ID de objeto de la nueva instancia de proceso al proceso que efectúa la llamada.

    Se establece el iniciador de la instancia del proceso en el proceso que efectúa la llamada de la petición. Esta persona recibe un elemento de trabajo para la instancia de proceso. Se determinan los administradores de procesos, los lectores y los editores de la instancia de proceso y reciben elementos de trabajo para dicha instancia de proceso. Se determinan las instancias de las actividades que siguen. Se inician automáticamente o, si son actividades de personal, de recepción o de obtención, se crean elementos de trabajo para los posibles propietarios.

Conceptos relacionados
Consultas sobre los objetos de procesos de empresa y relativos a tareas

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)