这是代码,ClusterStorage是我们的代码,它包含Hazelcast
。
public ClusterStorage clusterStorage() {
Config config = new Config();
String mapName = "cluster-storage";
ReplicatedMapConfig mapConfig = config.getReplicatedMapConfig(mapName);
mapConfig.setInMemoryFormat(InMemoryFormat.BINARY);
config.getGroupConfig()
.setName("name")
.setPassword("pass");
HazelcastInstance instance = Hazelcast.newHazelcastInstance(config);
return new ClusterStorage(instance.getReplicatedMap(mapName));
}
当我在两个节点都启动时更改地图时,会复制更改,但是当我更改节点n1上的地图然后启动第二个节点n2时,不会复制来自n1的状态,并且n2节点具有空映射。
我认为这应该有效,对吗? 什么可能是错的?
答案 0 :(得分:0)
答案 1 :(得分:0)
我设法做到了。我的发现:
问题是版本3.7.1和3.5.5的组合来自Maven的pom.xml
中的依赖管理。我们不知道Spring Boot的导入依赖管理还定义了hazelcast
工件与不同的版本,这反过来可能导致不兼容的库在类路径上。