Camunda / Activiti Listener完成任务

时间:2016-10-29 17:26:44

标签: workflow activiti camunda

我需要在任何任务完成时执行一些代码。 我发现如何在特定任务完成时添加侦听器,但不在任何任务上添加 请帮忙吗?

2 个答案:

答案 0 :(得分:2)

在Activiti中,您可以使用事件监听器,详情请参阅:http://www.activiti.org/userguide/#eventDispatcher

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

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

PARSE HANDLERS在这里描述:http://www.activiti.org/userguide/#_hooking_into_process_parsing

答案 1 :(得分:1)

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

@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) {
   ...
  }
}