ExecutionListener和TaskListener之间的区别

AKZ*_*AKZ 6 camunda

如我所读:

通常,任务侦听器事件周期包含在执行侦听器事件之间:

ExecutionListener#start
TaskListener#create
TaskListener#{assignment}*
TaskListener#{complete, delete}
ExecutionListener#end
Run Code Online (Sandbox Code Playgroud)

Camunda BPMN上查看完整列表-任务侦听器与执行侦听器

但是现在我有一个问题:ExecutionListener#start和TaskListener#create之间有什么区别,或者正如我注意到start事件启动后create事件已经开始,我应该在start事件中设置哪个业务,并在其中设置哪个业务创建事件?或者,如果我将所有业务都放在开始事件中,是否有任何问题?

Jan*_*ski 3

我认为要记住的重要区别是 ExecutionListener 可用于所有元素并允许访问 DelegateExecution,而 TaskListener 仅适用于任务(bpmn 和 cmmn)并允许您访问 DelegateTask。

DelegateTask 对于​​所有任务生命周期操作都很重要,例如设置截止日期、分配候选组……您无法使用 DelegateExecution 执行此操作。

因此,一般来说,我们在事件和网关上使用 ExecutionListener,在 ServiceTasks 上使用 JavaDelegate,在 UserTasks 上使用 TaskListener。