Apache Ignite:Java 中 fire/emit 用户定义事件的最佳实践是什么?

Apache Ignite: What is best practice to fire/emit user defined events in Java?

我想发出一个用户定义的 Ignite 事件,但除了使用非 API 方法的 Ignite 源之外,我没有找到任何示例或实现。

谁能解释一下如何做到这一点?

TIA

已更新最新回复:

有一组预定义的 EventTypes,如果不重新编译源代码,您就无法添加新的或在 Ignite 的内部嵌入自定义逻辑,从我的角度来看,这太复杂且不切实际。

作为替代方案,您可以使用 Ignite Messaging.

Ignite ignite = Ignition.ignite();

IgniteMessaging rmtMsg = ignite.message(ignite.cluster().forRemotes());

// Add listener for ordered messages on all remote nodes.
rmtMsg.remoteListen("MyOrderedTopic", (nodeId, msg) -> {
    System.out.println("Received ordered message [msg=" + msg + ", from=" + nodeId + ']');

    return true; // Return true to continue listening.
});

// Send ordered messages to remote nodes.
for (int i = 0; i < 10; i++)
    rmtMsg.sendOrdered("MyOrderedTopic", Integer.toString(i), 0);

检查these examples and the documentation

重新阅读文档后,我发现了一个有用的提示。

recordLocal(Event evt)的简要说明:

浏览详细信息后,我认出了提示(标记为红色)

因此对于本地事件,“记录”意味着“存储和发布”。 这有点误导......但是,嘿,它有效:-)