仅获取一个节点(不是所有副本)的Hazelcast EntryExpiredListener

时间:2017-04-02 08:25:10

标签: iot hazelcast hazelcast-imap

我要求我有一个连续的信号流,我希望在一定时间内没有信号时被告知。

现在我将每个信号添加到Hazelcast地图中,如果它在一段时间内没有更新,则会触发Hazelcast EntryExpiredListener。

到目前为止,非常好,但是每个副本都会调用EntryExpiredListener,因此我会收到N次通知。

是否有办法仅在主节点或仅一个副本中通知?

我知道我有点滥用HZ,我也对其他想法持开放态度。

1 个答案:

答案 0 :(得分:1)

我猜你使用IMap::addEntryListener来注册你的到期听众。而是尝试使用IMap::addLocalEntryListener,只会在当前拥有该条目的节点上触发,这意味着您只会收到一个通知。