Hazelcast IMap未分发

时间:2018-05-14 08:45:08

标签: hazelcast distributed-caching hazelcast-imap

我使用hazelcast IMap来缓存数据(key,uuid)。

在课堂上

 static HazelcastInstance hzInstance;
        @Autowired
        private static Config config;

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

}

在另一个班级B中,我获得了hazelcastinstance来获取地图CD

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

我在群集中有两个成员。第一次请求服务说成员1 key1,uuid1gets保存在map中。对服务提出的第二个请求是成员2,如果地图中没有,则应添加key1。

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

现在它观察到当第二次通过成员2 key1触发请求时,uuid2会再次添加到map中。理想情况下,不应该添加它,因此map不会在集群成员之间显示分布式行为

地图不按分布式行事的原因是什么

1 个答案:

答案 0 :(得分:1)

您确定您的Hazelcast实例彼此discovering并形成群集吗?可能两者都是自己运行的。如果可能,请将两个实例的Hazelcast日志附加到问题中。