타스크 인스턴스 작성 및 시작

이 시나리오는 휴먼 타스크를 정의하는 타스크 템플리트의 인스턴스를 정의하고 타스크 인스턴스를 시작하는 방법을 보여줍니다.

이 타스크의 단계

  1. 옵션: 타스크 템플리트의 목록을 표시하여 실행하려는 원래 타스크의 이름을 찾으십시오.

    타스크의 이름을 이미 아는 경우 이 단계는 선택적입니다.

    TaskTemplate[] taskTemplates = task.queryTaskTemplates
    ("TASK_TEMPL.KIND=TASK_TEMPL.KIND.KIND_HUMAN",
     "TASK_TEMPL.NAME",
      new Integer(50),
      (TimeZone)null);

    결과는 이름별로 정렬됩니다. 조회가 처음 50개의 정렬된 휴먼 타스크 템플리트를 포함하는 배열을 리턴합니다.

  2. 해당 유형의 입력 메시지를 작성하십시오.
    TaskTemplate template = taskTemplates[0];
    
    // create a message for the selected task
    ClientObjectWrapper input = task.createInputMessage( template.getID());
    DataObject myMessage = null ;
    if ( input.getObject()!= null && input.getObject() instanceof DataObject )
    {
      myMessage = (DataObject)input.getObject();
      //set the parts in the message, for example, a customer name
      myMessage.setString("CustomerName", "Smith");
    }
  3. 휴먼 타스크를 작성하고 시작하십시오. 이 예에서는 응답 핸들러가 지정되어 있지 않습니다.

    이 예에서는 createAndStartTask 메소드를 사용하여 타스크를 작성하고 시작합니다.

    TKIID tkiid = task.createAndStartTask( template.getName(), 
                                           template.getNamespace(),
                                           input,
                                           (ReplyHandlerWrapper)null);

    작업 항목이 타스크 인스턴스를 인식하는 사용자에 대해 작성됩니다. 예를 들어 잠재적 사용자는 새 타스크 인스턴스를 청구할 수 있습니다.

  4. 타스크 인스턴스를 청구하십시오.
    ClientObjectWrapper input2 = task.claim(tkiid);
    DataObject taskInput = null ;
    if ( input2.getObject()!= null && input2.getObject() instanceof DataObject )
    {
      taskInput = (DataObject)input2.getObject();
      // read the values
      ...
    }  

    타스크 인스턴스가 청구될 때 타스크의 입력 메시지가 리턴됩니다.


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