Camunda BPMN - Task listener vs Execution listener

2020-07-06 05:38发布

I've been using Camunda BPMN 2.0 for one of my workflow applications. In one of my service tasks, I created an execution listener at the start event and a task listener at the create event. I'm not sure whether it's proper to assign these simultaneously at the start event. If it's correct, which one of them will be getting executed first - Execution listener or Task Listener, at start or create event, respectively ?

标签: bpmn camunda
1条回答
仙女界的扛把子
2楼-- · 2020-07-06 06:14

Task listeners can only be used with user tasks, since they provide callbacks when task (i.e. the task a human has to perform) state changes, cf http://docs.camunda.org/latest/guides/user-guide/#process-engine-delegation-code-task-listener

Assuming you have a user task like

<userTask id="task1" name="My task" >
  <extensionElements>
    <camunda:executionListener event="start" class="com.example.MyExecutionListener" />
    <camunda:taskListener event="create" class="com.example.MyTaskListener" />
  </extensionElements>
</userTask>

When the user task is executed

  1. The execution listener is called
  2. The task listener is called

In general, the task listener event cycle is contained between execution listener events start and end. So the cycle when a user task is executed is:

  1. ExecutionListener#start
  2. TaskListener#create
  3. TaskListener#{assignment}*
  4. TaskListener#{complete, delete}
  5. ExecutionListener#end
查看更多
登录 后发表回答