2014-09-04 52 views
0

我使用「更高級的過程,包括人工任務和持久性」來製作新的jBPM過程。然後運行這個過程,一切都很好。但是,如果我改變用戶任務的演員,比如,我改變「瑪麗」,以「可能」在任務2jbpm6用戶任務的演員

,一個錯誤會發生,該列表的大小爲0

// let john execute Task 1 
    List<TaskSummary> list = taskService.getTasksAssignedAsPotentialOwner("john", "en-UK"); 
    TaskSummary task = list.get(0); 
    System.out.println("John is executing task " + task.getName()); 
    taskService.start(task.getId(), "john"); 
    taskService.complete(task.getId(), "john", null); 

    assertNodeTriggered(processInstance.getId(), "Task 2"); 

    // let mary execute Task 2 
    list = taskService.getTasksAssignedAsPotentialOwner("may", "en-UK"); 
    System.out.println("list.size:"+list.size()); 
    task = list.get(0); 
    System.out.println("May is executing task " + task.getName()); 
    taskService.start(task.getId(), "may"); 
    taskService.complete(task.getId(), "may", null); 

然後錯誤會發生,控制檯顯示列表的大小爲0. 任何人都可以幫助我嗎?

回答

0

這就是預期的行爲。如果您的流程爲瑪麗創建任務,但您查詢5月份的任務,它將爲5月返回0任務。然後其餘的線路將失敗。

+0

我已經改變了任務在五月的用戶,這是行不通的。 – micky0 2014-09-05 01:56:26

+0

@salaboy你如何爲特定用戶創建任務?它是通過演員ID嗎? – 2015-04-02 20:54:11

+1

是的,你在過程設計器中設置了actorId。在流程中定義用戶任務時可用。如果你想自動分配進程,你只需要添加一個potentialOwner/actorId – salaboy 2015-04-07 13:18:02

0

您是否已將新用戶'may'添加到UserGroupCallback?