首页 > 解决方案 > Apache Ignite:在 Java 中触发/发出用户定义事件的最佳实践是什么?

问题描述

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

有人可以解释如何做到这一点吗?

TIA

标签: javaeventsignite

解决方案


关于最新回复的更新:

有一组预定义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);

检查这些示例文档


推荐阅读