我正在使用Hazelcast java客户端(在node1上),并在不同的节点(不同的笔记本电脑 - node2)上创建Hazelcast地图。
我的设置: 在node2上 - Hazelcast正在运行。 在node1上 - 独立的java程序,它像Hazelcast java客户端一样。
ClientConfig config = new ClientConfig();
config.getGroupConfig().setName("dev").setPassword("dev-pass");
config.addAddress("<node2-ip>:5701");
HazelcastInstance inst = HazelcastClient.newHazelcastClient(config);
//Creating a mapconfig
MapConfig mcfg = new MapConfig();
mcfg.setName("democache");
//creating a mapstore config
MapStoreConfig mapStoreCfg = new MapStoreConfig();
mapStoreCfg.setClassName("com.main.MyMapStore").setEnabled(true);
MyMapStore是我对Hazelcast MapStore的实现。这个班级位于
mcfg.setMapStoreConfig(mapStoreCfg);
**inst.getConfig()**.addMapConfig(mcfg);
当我运行此代码时,我收到“UnsupportedOperationException”。当我执行inst.getConfig()时,得到此异常..任何人都可以让我知道这是为了解决这个问题!
Stacktrace是: 线程“main”java.lang.UnsupportedOperationException中的异常 在com.hazelcast.client.HazelcastClient.getConfig(HazelcastClient.java:144) 在ClientClass.main(ClientClass.java:34)
答案 0 :(得分:0)
Hazelcast客户端无法访问群集节点的配置。此操作不受支持。
此外,您不应在群集启动后更新/更改配置。
UnsupportedOperationException, when doing HazelcastInstance.getConfig() from hazelcast client
答案 1 :(得分:0)
客户端不存储数据,因此它不使用MapStore,因此您应该不在客户端配置mapstore,而是配置其他hazelcast服务器实例。像那样:
Config config = new Config();
config.addMapConfig(mapconfig);
HazelcastInstance node1 = Hazelcast.newHazelcastInstance(cfg);