13

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

4

1 回答 1

19

任务侦听器只能用于用户任务,因为它们在任务(即人类必须执行的任务)状态发生变化时提供回调,参见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. 任务监听器被调用

通常,任务侦听器事件循环包含在执行侦听器事件startend. 所以执行用户任务的周期是:

  1. 执行监听器#start
  2. 任务监听器#create
  3. 任务监听器#{assignment}*
  4. TaskListener#{完成,删除}
  5. 执行监听器#end
于 2015-04-08T07:18:33.017 回答