仅获取一个节点(并非所有副本)的 Hazelcast EntryExpiredListener
Get Hazelcast EntryExpiredListener only of one node (not all replicas)
我有连续信号流的要求,如果在一定时间内没有信号,我想得到通知。
现在我正在将每个信号添加到 Hazelcast 地图,如果它在一定时间内没有更新,Hazelcast EntryExpiredListener 会触发。
到目前为止一切顺利,但是每个副本都会调用 EntryExpiredListener,所以我收到了 N 次通知。
有没有办法只在主节点或只有一个副本通知?
我知道我有点滥用 HZ,我也愿意接受其他想法。
我猜你使用 IMap::addEntryListener
来注册你的过期侦听器。相反,请尝试使用 IMap::addLocalEntryListener
,它只会在当前拥有该条目的节点上触发,这意味着您只会收到一个通知。
我有连续信号流的要求,如果在一定时间内没有信号,我想得到通知。
现在我正在将每个信号添加到 Hazelcast 地图,如果它在一定时间内没有更新,Hazelcast EntryExpiredListener 会触发。
到目前为止一切顺利,但是每个副本都会调用 EntryExpiredListener,所以我收到了 N 次通知。
有没有办法只在主节点或只有一个副本通知?
我知道我有点滥用 HZ,我也愿意接受其他想法。
我猜你使用 IMap::addEntryListener
来注册你的过期侦听器。相反,请尝试使用 IMap::addLocalEntryListener
,它只会在当前拥有该条目的节点上触发,这意味着您只会收到一个通知。