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

시작 서비스가 고유한 경우 시작 메소드를 사용하고 프로세스 템플리트 이름을 매개변수로 전달할 수 있습니다. 장기 실행 프로세스가 단일 수신 또는 pick 활동으로 시작하고 단일 pick 활동이 하나의 onMessage 정의만 갖는 경우입니다.

이 타스크의 단계

  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. 해당 유형의 입력 메시지로 프로세스를 시작하십시오.

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

    ProcessTemplateData template = processTemplates[0];
    //create a message for the single starting receive activity
    ClientObjectWrapper input = process.createMessage
                                (template.getID(),
                                template.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.initiate(template.getName(), "CustomerOrder", input);

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

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

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

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