이 시나리오는 휴먼 타스크를 정의하는 타스크 템플리트의 인스턴스를 정의하고 타스크 인스턴스를 시작하는 방법을 보여줍니다.
타스크의 이름을 이미 아는 경우 이 단계는 선택적입니다.
TaskTemplate[] taskTemplates = task.queryTaskTemplates ("TASK_TEMPL.KIND=TASK_TEMPL.KIND.KIND_HUMAN", "TASK_TEMPL.NAME", new Integer(50), null);
결과는 이름별로 정렬됩니다. 조회가 처음 50개의 정렬된 휴먼 타스크 템플리트를 포함하는 배열을 리턴합니다.
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"); }
이 예에서는 createAndStartTask 메소드를 사용하여 타스크를 작성하고 시작합니다.
TKIID tkiid = task.createAndStartTask( template.getName(), template.getNamespace(), input null);
작업 항목이 타스크 인스턴스를 인식하는 사용자에 대해 작성됩니다. 예를 들어 잠재적 사용자는 새 타스크 인스턴스를 청구할 수 있습니다.
ClientObjectWrapper input2 = task.claim(tkiid); DataObject taskInput = null ; if ( input2.getObject()!= null && input2.getObject() instanceof DataObject ) { taskInput = (DataObject)input2.getObject(); // read the values ... }
타스크 인스턴스가 청구될 때 타스크의 입력 메시지가 리턴됩니다.