任务完成时的 Camunda/Activiti 侦听器

Camunda/ Activiti Listener on tasks complete

我需要在任何任务完成时执行一些代码。 我找到了如何在特定任务完成时添加侦听器,但不是在任何任务上 有什么帮助吗?

在 Activiti 中,您可以为此使用事件侦听器,详情请见:http://www.activiti.org/userguide/#eventDispatcher

使用这种方法,您可以捕获许多不同的事件类型,包括任务完成。

对于旧的 Activiti 和所有 Camunda 实现,我会使用解析处理程序为所有任务的关闭事件添加侦听器。解析处理程序是这类事情的想法。

此处描述了解析处理程序:http://www.activiti.org/userguide/#_hooking_into_process_parsing

查看社区扩展 camunda-bpm-reactor。 它允许将侦听器注册到任何事件,而无需手动将它们添加到每个 bpmn activity.

@CamundaSelector(type = "userTask", event = TaskListener.EVENTNAME_CREATE)
public class TaskCreateListener implements TaskListener {

  public TaskCreateListener(EventBus eventBus) {
    eventBus.register(this);
  }

  @Override
  public void notify(DelegateTask delegateTask) {
   ...
  }
}