使用 Java API 时没有 activity 事件
No activity events when using the Java API
我正在使用带有 ActivitiEventListener
实现的 actviti,它处理 ACTIVTI_COMPLETED
/TASK_CREATED
等事件
与流程实例通信时,我可以看到上述事件被触发(在 ACT_EVT_LOG
table 中),但是当我通过 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
table 中,却不知道有一个已注册的事件侦听器填充它。在 table 中没有看到预期的事件后,我认为 activiti 不会发送它们,而实际上它们已发送但没有任何指示。
所以我添加了以下行,这使得 activiti 填充 ACT_EVT_LOG
:
runtimeService.addEventListener(new EventLogger(processEngine.getProcessEngineConfiguration().getClock()));
我正在使用带有 ActivitiEventListener
实现的 actviti,它处理 ACTIVTI_COMPLETED
/TASK_CREATED
等事件
与流程实例通信时,我可以看到上述事件被触发(在 ACT_EVT_LOG
table 中),但是当我通过 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
table 中,却不知道有一个已注册的事件侦听器填充它。在 table 中没有看到预期的事件后,我认为 activiti 不会发送它们,而实际上它们已发送但没有任何指示。
所以我添加了以下行,这使得 activiti 填充 ACT_EVT_LOG
:
runtimeService.addEventListener(new EventLogger(processEngine.getProcessEngineConfiguration().getClock()));