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 ?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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
- The execution listener is called
- 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:
- ExecutionListener#start
- TaskListener#create
- TaskListener#{assignment}*
- TaskListener#{complete, delete}
- ExecutionListener#end