2014-02-17 69 views
0

我是Activiti新手,經驗不多,我的問題是: 如何檢索進程中每個任務的變量?檢索進程中每個任務的變量activiti

+0

一個userTask您是否想要檢索任務本身(taskLocalVariables)中定義的流程實例變量或變量? –

+0

我正在尋找retrive taskLocalVariables –

回答

0

如果您需要將任務本地變量讀入流程實例,則需要添加一個taskListener來對付「complete」事件。如果我們正在談論簡單變量映射,則可以使用scriptListener,否則使用Java類。

在聽者,你有機會獲得「執行」(腳本監聽)或TaskDelegate在這裏你可以設置/獲取流程實例變量(getVariables()和setVariable())或局部變量getVariableLocal()和setVariableLocal( )。

希望這會有所幫助。

+0

謝謝你,但我需要回顧本地變量而不執行,我需要從Bmpn2.0 xml文件收集這些信息 –

+0

對於服務和發送任務,ioSpecification節用於映射任務本地BPMN 2.0 XML文件中的變量。但是,我不認爲用戶任務在Activiti中支持ioSpecification。 –

1

爲ID =「TASK1」您可以使用taskService How to get task variables

ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); 
TaskService taskService = processEngine.getTaskService(); 
List<Task> tasks = taskService.createTaskQuery().taskDefinitionKey("task1").includeProcessVariables().orderByTaskCreateTime().desc().list(); 

for (Task task : tasks) { 
    Map<String, Object> variables = task.getProcessVariables(); 
}