Hazelcast IMap не распространяется - PullRequest
0 голосов
/ 14 мая 2018

Я использую 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;       

}

В другом классе BI получить Hazelcastinstance для получения карты CD

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

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

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

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

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

1 Ответ

0 голосов
/ 14 мая 2018

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

...