是否可以将分布式对象事件用于Hazelcast客户端?

时间:2018-01-03 21:59:05

标签: hazelcast

如文档中所述:http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Events/Event_Listeners_for_Clients.html

客户端不支持分布式对象事件。有没有办法检测服务器上给定Map的事件,并使用客户端实例刷新增量。我有集中式HZ分布式缓存。每次服务器端发生变化;我希望客户端通知能够实现更改/ delta。

客户支持http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Events/Cluster_Events/Listening_for_Distributed_Object_Events.html

我想知道它是否可以支持MAp /分布式地图事件 http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Events/Distributed_Object_Events/Listening_for_Map_Events.html

1 个答案:

答案 0 :(得分:0)

您可以在客户端使用MapListeners,您可以观察到几种类型的事件:

  • EntryAddedListener
  • EntryRemovedListener
  • EntryUpdatedListener
  • MapClearedListener
  • EntryEvictedListener
  • ...

查看MapListener JavaDoc了解更多详情。

用法很简单:

HazelcastInstance client = HazelcastClient.newHazelcastClient();
client.getMap("test").addEntryListener(new EntryAddedListener<String, String>() {
    @Override
    public void entryAdded(EntryEvent<String, String> event) {
        System.out.println("Added: " + event.getKey() + "=" + event.getValue());
    }
}, true);