我需要在任何任务完成时执行一些代码。 我发现如何在特定任务完成时添加侦听器,但不在任何任务上添加 请帮忙吗?
答案 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) {
...
}
}