Я пытаюсь вручную настроить экземпляры Hazelcast 2.5.1 с использованием их программного API, но я обнаружил, что он имеет разные поведения при выполнении - предположительно - подобных вещей.Hazelcast: не может присоединиться к кластеру при использовании программной конфигурации
Итак, мой первый подход довольно зачаточном, что:
String confString = "<hazelcast><network><port auto-increment=\"true\">10555</port><join><multicast enabled=\"false\" /><tcp-ip enabled=\"true\"><interface>127.0.0.1</interface></tcp-ip></join><ssl enabled=\"false\" /></network></hazelcast>";
Config config = new InMemoryXmlConfig(confString);
Hazelcast.newHazelcastInstance(config);
Это будет работать и запуск разных экземпляров позволит им присоединиться к кластеру. В целях удобочитаемости, вот XML я строй в памяти:
<hazelcast>
<network>
<port auto-increment="true">10555</port>
<join>
<multicast enabled="false" />
<tcp-ip enabled="true">
<interface>127.0.0.1</interface>
</tcp-ip>
</join>
<ssl enabled="false" />
</network>
</hazelcast>
Запуск разных экземпляров это заставит их присоединиться к кластеру, который является поведением, которое я хочу.
Однако, когда я пытаюсь сделать это программно, Hazelcast не позволит новые экземпляры присоединиться и пожалуется со следующей ошибкой:
Jul 09, 2015 9:39:33 AM com.hazelcast.impl.Node
WARNING: [127.0.0.1]:10556 [dev] Config seed port is 10555 and cluster size is 1. Some of the ports seem occupied!
Это код, который должен сделать то же самое программно:
Config config = new Config();
config.setInstanceName("HazelcastService");
config.getNetworkConfig().setPortAutoIncrement(true);
config.getNetworkConfig().setPort(10555);
config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);
config.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(true);
config.getNetworkConfig().getInterfaces().addInterface("127.0.0.1");
config.getNetworkConfig().getInterfaces().setEnabled(true);
SSLConfig sslConfig = new SSLConfig();
sslConfig.setEnabled(false);
config.getNetworkConfig().setSSLConfig(sslConfig);
Hazelcast.newHazelcastInstance(config);
Что мне не хватает?
Какую версию HZ вы используете? – pveentjer
@pveentjer 2.5.1. – Alpha