Camunda BPMN - 任务监听器与执行监听器

时间:2015-04-08 05:52:31

标签: bpmn camunda

我一直在将Camunda BPMN 2.0用于我的一个工作流程应用程序。在我的一个服务任务中,我在start事件中创建了一个执行侦听器,在create事件中创建了一个任务侦听器。我不确定在开始活动中同时分配这些是否合适。如果它是正确的,它们中的哪一个将首先执行 - 执行监听器或任务监听器,分别在启动或创建事件时?

1 个答案:

答案 0 :(得分:13)

任务侦听器只能与用户任务一起使用,因为它们在任务(即人类必须执行的任务)状态更改时提供回调,参见http://docs.camunda.org/latest/guides/user-guide/#process-engine-delegation-code-task-listener

假设您有一个像

这样的用户任务
<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>

执行用户任务时

  1. 执行侦听器名为
  2. 调用任务侦听器
  3. 通常,任务侦听器事件周期包含在执行侦听器事件startend之间。因此,执行用户任务的周期是:

    1. ExecutionListener#启动
    2. TaskListener#创建
    3. TaskListener#{分配} *
    4. TaskListener#{complete,delete}
    5. ExecutionListener#端