我将 actviti 与 ActivitiEventListener
的实现一起使用,它处理诸如 ACTIVTI_COMPLETED
/TASK_CREATED
等事件。
与流程实例通信时,我可以看到触发了上述事件(在 ACT_EVT_LOG
表中),但是当我通过 Java API 执行此操作时,不会触发任何事件(例如,当发送边界事件捕获的消息)。
下面是代码片段:
public static void main(String[] args) {
readProperties();
processEngine = buildProcessEngine();
processEngine.getRuntimeService()
.addEventListener(new ActivitiEventHandler("localhost", "61616"));
new MessageSender(processEngine).sendMessage(args);
}
我在这里缺少什么?
最佳答案
如果有人遇到同样的问题 -
这是一个误解:我认为所有事件都会显示在 ACT_EVT_LOG
表中,而不知道有一个已注册的事件监听器填充它。在没有看到表中的预期事件后,我认为 activiti 不会调度它们,而实际上它们已调度但没有任何指示。
所以我添加了以下行,这使得 activiti 填充 ACT_EVT_LOG
:
runtimeService.addEventListener(new EventLogger(processEngine.getProcessEngineConfiguration().getClock()));
关于java - 使用 Java API 时没有 Activity 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45302897/