getMap () + последующие изменения карты синхронизации - PullRequest
0 голосов
/ 24 октября 2018

У меня есть IMap с включенным Журналом.

Используя клиент (Hazelcast или Jet), я хотел бы получить полную карту и получить все последующие обновления для ее обогащения.

Как я могу добиться этого?

Если сделать .getMap (), а затем вызвать getJournalMap () или .addEntryListener (), я обеспокоен возможностью отсутствия обновлений между getMap () и addEntryListener ().

Есть ли более интуитивно понятный способ получить полную карту + обновления?Спасибо

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

То, что вы ищете, это Continues Query Cache особенность Hazelcast.Пожалуйста, смотрите https://docs.hazelcast.org/docs/3.11/manual/html-single/index.html#continuous-query-cache

Ниже приведен пример использования от клиента

    HazelcastInstance instance = Hazelcast.newHazelcastInstance();

    QueryCacheConfig queryCacheConfig = new QueryCacheConfig("cache");
    PredicateConfig predicateConfig = new PredicateConfig().setImplementation((Predicate) entry -> true);
    queryCacheConfig.setPredicateConfig(predicateConfig);

    ClientConfig clientConfig = new ClientConfig();
    clientConfig.addQueryCacheConfig("map", queryCacheConfig);

    HazelcastInstance client = HazelcastClient.newHazelcastClient(clientConfig);

    IMap<Object, Object> map = client.getMap("map");
    QueryCache<Object, Object> cache = map.getQueryCache("cache");
0 голосов
/ 24 октября 2018

В настоящее время журнал событий не предоставляет общедоступный API для чтения журнала событий в Hazelcast IMDG.Журнал событий можно использовать для потоковой передачи данных о событиях в Hazelcast Jet, поэтому его следует использовать совместно с Hazelcast Jet.Вы можете увидеть несколько примеров здесь: https://github.com/hazelcast/hazelcast-jet-code-samples/tree/0.7-maintenance/event-journal

...