为hazelcast设置配置属性

时间:2014-07-09 17:37:06

标签: java hazelcast

我可以在使用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);

1 个答案:

答案 0 :(得分:4)

您需要使用XmlClientConfigBuilder

ClientConfig config = new XmlClientConfigBuilder(yourfile).build();
HazelcastInstance client = HazelcastClient.newHazelcastClient(config)