从远程客户端执行HazelcastInstance.getConfig()时获取UnsupportedOperationException

时间:2012-03-10 16:50:24

标签: hazelcast

我正在使用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)

2 个答案:

答案 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);