我可以在使用FileSystemXmlConfig时加载hazelcast.xml文件。但是,我只能在hazelcast服务器上使用它 - 我还需要运行hazelcast客户端。但是,我无法弄清楚如何使用FileSystemXmlConfig在Hazelcast中实例化ClientConfig。
我正在尝试的另一件事是通过代码(而不是通过启动器)设置系统属性。但是,当我尝试这个时,它似乎没有选择我的hazelcast.xml文件,因为我可以看到我的存储加载没有被调用(当我使用下面复制的FileSystemXmlConfig使用服务器设置时它们被调用)但是当我尝试时没有设置系统属性(通过系统或通过属性)。关于我做错什么的任何想法?
无效(传入XML文件名的System.setProperty)
Config config = new Config();
System.setProperty("hazelcast.config", "C:/Users/userName/workspace/HazelcastTest/config/hazelcast.xml");
HazelcastInstance hcast= Hazelcast.newHazelcastInstance(config);
无效(传入XML文件位置的System.setProperty)
Config config = new Config();
System.setProperty("hazelcast.config", "C:/Users/userName/workspace/HazelcastTest/config/");
HazelcastInstance hcast= Hazelcast.newHazelcastInstance(config);
不工作(通过属性使用)
Config config = new Config();
Properties props = System.getProperties();
props.setProperty("hazelcast.config", "C:/Users/userName/workspace/HazelcastTest/config/hazelcast.xml");
HazelcastInstance hcast= Hazelcast.newHazelcastInstance(config);
适用于FileSystemXmlConfig
Config config = new FileSystemXmlConfig("C:/Users/userName/workspace/HazelcastTest/config/hazelcast.xml");
HazelcastInstance hcast= Hazelcast.newHazelcastInstance(config);
答案 0 :(得分:4)
您需要使用XmlClientConfigBuilder
ClientConfig config = new XmlClientConfigBuilder(yourfile).build();
HazelcastInstance client = HazelcastClient.newHazelcastClient(config)