Hazelcast:当我在同一个函数中添加和清除ISet时,是否会在所有节点上触发项目添加的侦听器?

时间:2018-04-17 19:35:01

标签: hazelcast hazelcast-imap

我希望在添加项目时在所有节点上触发项目添加的侦听器触发器,在侦听器中进行异步调用,并在触发侦听器之后我想清除ISet。

根据EntryProcessor逻辑,每个查询都作为条目处理器执行,我假设它在所有节点上连贯地触发项目添加的侦听器。我的初步测试也指出了相同的行为。但是,由于我处理生产数据,我想100%确定项目添加的侦听器在所有节点中被触发,即使我在下一个节点中清除了其中一个节点的ISet。

如果你知道的话,请告诉我文件。或者,如果您遇到类似情况,请分享您的经验。

1 个答案:

答案 0 :(得分:1)

对于要求"我想100%确定项目添加的监听器在所有节点中被触发",我建议ReliableTopic并确保你的主题监听器实现使用{{1接口,正如您所看到的,它具有用于存储(storeSequence();)和获取序列号(retrieveInitialSequence();)的附加接口,例如,您可以在客户端本地存储此信息。因此,每个客户端将根据序列ID监听事件,这意味着如果由于某种原因断开连接,它可以在恢复后从最新的事件序列ID恢复。 http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Data_Structures/Reliable_Topic.html