我正在尝试使用非默认 hazelcast.xml 设置启动 hazelcast。
根据他们的文档:http://docs.hazelcast.org/docs/3.6/manual/html-single/index.html#configuring-hazelcast
我在命令中添加了 -Dhazelcast.config 值: java -server -Djava.net.preferIPv4Stack=true -Dhazelcast.config=/opt/hazelcast/config/server/hazelcast.xml -cp/opt/m2repo/com/hazelcast/hazelcast -all/3.6/hazelcast-all-3.6.jar com.hazelcast.console.ConsoleApp
问题是当我运行命令时,它没有考虑我的设置,而是尝试在当前文件夹中找到它。
所以,如果我在/home/alexandre/它说: com.hazelcast.config.FileSystemXmlConfig 信息:从“/home/alexandre/hazelcast.xml”配置 Hazelcast。
当我从我放置 hazelcast.xml 的文件夹运行命令时,没问题。 (但没有像我想的那样工作)
在此先感谢您的帮助! 亚历山大。
最佳答案
我终于明白了。
通过阅读 com.hazelcast.console.ConsoleApp 的源代码 我看到它不能工作,因为它只读取本地文件:
try { config = new FileSystemXmlConfig("hazelcast.xml"); } catch (FileNotFoundException e) { config = new Config(); }
所以我下载了完整的 hazelcast.tar 并查看了他们的/bin/start.sh 命令,它使用 com.hazelcast.core.server.StartServer
所以我更新了我的命令,它现在可以工作了: java -server -Djava.net.preferIPv4Stack=true -Dhazelcast.config=/opt/hazelcast/config/server/hazelcast.xml -cp/opt/m2repo/com/hazelcast/hazelcast-all/3.6/hazelcast- all-3.6.jar com.hazelcast.core.server.StartServer
关于java - 外部文件夹中的 Hazelcast 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35148931/