비고유 시작 서비스를 포함하는 장기 실행 프로세스 시작

장기 실행 프로세스는 여러 시작 receive 또는 pick 활동을 통해 시작할 수 있습니다. 시작 메소드를 사용하여 프로세스를 시작할 수 있습니다. 시작 서비스가 고유하지 않은 경우 예를 들어, 프로세스가 여러 개의 receive 또는 pick 활동으로 시작하거나 여러 onMessage 정의를 갖는 pick 활동으로 시작하면 호출할 서비스를 식별해야 합니다.

이 타스크의 단계

  1. 옵션: 프로세스 템플리트를 나열하여 시작할 프로세스의 이름을 찾으십시오.

    프로세스의 이름을 이미 아는 경우 이 단계는 선택사항입니다.

    ProcessTemplateData[] processTemplates = process.queryProcessTemplates
      ("PROCESS_TEMPLATE.EXECUTION_MODE =
           PROCESS_TEMPLATE.EXECUTION_MODE.EXCECUTION_MODE_LONG_RUNNING",
       "PROCESS_TEMPLATE.NAME",
        new Integer(50),
        (TimeZone)null); 
    결과는 이름별로 정렬됩니다. 조회는 장기 실행 프로세스로 시작할 수 있는 처음 50개의 정렬된 템플리트를 포함하는 배열을 리턴합니다.
  2. 호출할 시작 서비스를 판별하십시오.
    ProcessTemplateData template = processTemplates[0];
    ActivityServiceTemplateData[] startActivities = 
            process.getStartActivities(template.getID());
  3. 해당 유형의 입력 메시지로 프로세스를 시작하십시오.

    메시지를 작성하는 경우 메시지 유형 이름을 지정하여 메시지 정의가 포함되도록 해야 합니다. 프로세스-인스턴스 이름을 지정하는 경우 밑줄로 시작하지 않아야 합니다. 프로세스-인스턴스 이름이 지정되지 않은 경우 문자열 형식의 프로세스 인스턴스 ID(PIID)가 이름으로 사용됩니다.

    ActivityServiceTemplateData activity = startActivities[0];
    //create a message for the service to be called
    ClientObjectWrapper input = process.createMessage
                                (activity.getServiceTemplateID(),
                                 activity.getActivityTemplateID(),
                                 activity.getInputMessageTypeName());
    DataObject myMessage = null;
    if ( input.getObject()!= null && input.getObject() instanceof DataObject )
    {
      myMessage = (DataObject)input.getObject();
      //set the strings in the message, for example, a customer name
      myMessage.setString("CustomerName", "Smith");
    }
    //start the process
    PIID piid = process.sendMessage(activity.getServiceTemplateID(),
                                 activity.getActivityTemplateID(),
                                 input); 

    이 조치는 인스턴스를 작성하고 일부 고객 데이터를 전달합니다. 프로세스가 시작되면 조작을 통해 새 프로세스 인스턴스의 오브젝트 ID가 호출자에게 리턴됩니다.

    프로세스 인스턴스의 시작자는 요청 호출자로 설정되고 프로세스 인스턴스에 대한 작업 항목을 수신합니다. 프로세스 인스턴스의 프로세스 관리자, 독서자 및 편집자가 결정되어 프로세스 인스턴스에 대한 작업 항목을 수신합니다. 후속 활동 인스턴스가 결정됩니다. 이것은 자동으로 시작되거나 staff, receive 또는 pick 활동인 경우 잠재적 소유자에 대한 작업 항목이 작성됩니다.

관련 개념
비즈니스 프로세스 및 타스크 관련 오브젝트에 대한 조회

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