Hazelcast IMap не распространяется

Я использую Hazelcast IMap для кэширования данных (ключ, UUID).

В классе App

 static HazelcastInstance hzInstance;
        @Autowired
        private static Config config;

        public static HazelcastInstance hazelcastInstanceM {
            if (sharedInstance == null)
                sharedInstance =  Hazelcast.newHazelcastInstance(config);
            return sharedInstance;       

}

В другом классе B I получить Hazelcastinstance, чтобы получить карту CD

static {
        hazelcastInstance = App.hazelcastInstanceM();
        map= hazelcastInstance.getMap("CD");
    }

У меня есть два члена в кластере. При первом обращении к службе, скажем, члену 1, ключ key1,uuid1get, сохраняется на карте. Во втором запросе к службе говорят участнику 2, что он должен добавить ключ 1, если он не представлен на карте.

kmap.putIfAbsent(key1, uuid1, 4, TimeUnit.MINUTES);

Теперь замечено, что когда второй раз запрос выполняется через элемент 2 key1,uuid2 снова добавляется в карту. В идеале, как и ожидалось, его не следует добавлять, и, следовательно, карта не отображает распределенное поведение среди членов кластера.

Что может быть причиной того, что карта не ведет себя распределенным образом

1 ответ

Вы уверены, что ваши экземпляры Hazelcast обнаруживают друг друга и образуют кластер? Возможно, оба работают самостоятельно. Если возможно, приложите к этому вопросу логи Hazelcast обоих экземпляров.

Другие вопросы по тегам