2015-06-05 46 views
0

有一種比較簡單的方法可以通過鍵獲取流程定義名稱,但是我找不到任何方式(除了解析BPMNModel)通過任務定義獲取任務定義名稱id(例如,流程定義ID)。有人知道類似的東西嗎?通過任務定義標識獲取任務名稱的簡單方法

編輯

我知道我可以通過任務實例得到任務名稱(即org.camunda.bpm.engine.task.Task#getName),但我需要通過任務定義中,以任務名稱(就是,我沒有的org.camunda.bpm.engine.task.Task實例) 。

回答

2

使用TaskService,您可以通過調用其方法createTaskQuery()來爲任務創建查詢。創建的任務查詢對象然後提供幾種通過傳遞查詢參數來縮小查詢範圍的方法,例如,

  • processDefinitionId( 「」)( 「)=>在BPMN XML
  • taskDefinitionKey流程定義的ID(=>流程定義部署任務屬於
  • processDefinitionKey的id」,」 「)=> bpmn中的任務本身xml

查詢然後返回Task對象的list()或singleResult()Task。並且任務接口有一個方法getName():

Task task = taskService.createTaskQuery().taskDefinitionKey("myKey").singleResult(); 
String name = task.getName(); 
+0

TaskService僅適用於流程實例中可用的用戶任務實例。我需要從正在運行的進程中獲取任務名稱(請參閱更新的問題) –

+0

我明白了。我擔心你必須查看BpmnModelInstance。至少我不知道另一種可能性。 –