hazelcast version:1.9.4.8 を備えた spring-hibernate Web アプリケーションがあります。春の統合ではなく、デフォルトの hazelcast 構成を使用しています。単体テストには JUnit 非トランザクション テストを使用します。最初に @Before を使用して、Hazelcast のすべてのインスタンスをシャットダウンします。同様に @After をクリーンアップします。
私のコンピューターは会社のネットワーク内にあるため、そのアプリケーションを独自のローカルでテストして使用するそれぞれの IP で有効な hazelcast tcp-ip を構成していました。
しかし、IP をネットワーク IP から 127.0.0.1 に変更すると、複数のメンバーに参加することができなくなります。しかし、前に、conf の ip のとき。次のようなものでした: 192.168.24.27
さまざまな開発者が自分のコンピューターでテストを実行できるようにするために、特定の IP アドレスから 127.0.0.1 のような標準に変更する必要があります...
これが私のサンプルユニットテストの一部です:
///
LOG.info("test is begining");
Map map;
int memberSize = 0;
Config config = new Config();
// Hazelcast cluster member 1
final HazelcastInstance customInstance1 = Hazelcast.newHazelcastInstance(null);
assertEquals(2, clusterListener.getMemberSize());
getApplicationMap().put("member2", 2);
// shutdown member 1
customInstance1.getLifecycleService().shutdown();
// Hazelcast cluster new member 1
final HazelcastInstance customInstance2 = Hazelcast.newHazelcastInstance(null);
assertEquals(2, clusterListener.getMemberSize());
getApplicationMap().put("member2_new", 2);
assertEquals(3, getApplicationMap().size());
LOG.info("\n\n *** Hazelcast test is OK. *** \n");
///
これは、私の問題に対するヘーゼルキャスト構成の短いが関連する部分です: ...
<port auto-increment="true">5701</port>
<join>
<multicast enabled="false">
<multicast-group>224.2.2.3</multicast-group>
<multicast-port>54327</multicast-port>
</multicast>
<tcp-ip enabled="true">
<interface>127.0.0.1</interface> // it was 192.168.24.27 before and was working
</tcp-ip>
</join>
<interfaces enabled="true">
<interface>127.0.0.*</interface>
</interfaces>
...
関連ログ: ...
Members [1] {
Member [127.0.0.1:5701] this
}
28.Eyl.2012 16:01:40 com.hazelcast.impl.management.ManagementCenterService
INFO: /127.0.0.1:5701 [elekCluster] Hazelcast Management Center started at port 5801.
28.Eyl.2012 16:01:40 com.hazelcast.impl.LifecycleServiceImpl
INFO: /127.0.0.1:5701 [elekCluster] Address[127.0.0.1:5701] is STARTED
16:01:40,149 INFO HazelcastTest:35 - test is begining
28.Eyl.2012 16:01:40 com.hazelcast.config.XmlConfigBuilder
INFO: Looking for hazelcast.xml config file in classpath.
28.Eyl.2012 16:01:40 com.hazelcast.config.XmlConfigBuilder
INFO: Using configuration file /C:/dev/WORKSPACE_Myeclipse/elek_workspace/elek/elek_core_service/target/test-classes/hazelcast.xml in the classpath.
28.Eyl.2012 16:01:40 com.hazelcast.system
INFO: /127.0.0.1:5702 [elekCluster] Hazelcast 1.9.4.8 (20120209) starting at Address[127.0.0.1:5702]
28.Eyl.2012 16:01:40 com.hazelcast.system
INFO: /127.0.0.1:5702 [elekCluster] Copyright (C) 2008-2011 Hazelcast.com
28.Eyl.2012 16:01:40 com.hazelcast.impl.LifecycleServiceImpl
INFO: /127.0.0.1:5702 [elekCluster] Address[127.0.0.1:5702] is STARTING
28.Eyl.2012 16:01:40 com.hazelcast.impl.TcpIpJoiner
INFO: /127.0.0.1:5702 [elekCluster] connecting to Address[127.0.0.1:5703]
28.Eyl.2012 16:01:40 com.hazelcast.impl.TcpIpJoiner
INFO: /127.0.0.1:5702 [elekCluster] connecting to Address[127.0.0.1:5701]
28.Eyl.2012 16:01:40 com.hazelcast.nio.InSelector
INFO: /127.0.0.1:5701 [elekCluster] 5701 is accepting socket connection from /127.0.0.1:63486
28.Eyl.2012 16:01:40 com.hazelcast.nio.InSelector
INFO: /127.0.0.1:5701 [elekCluster] 5701 accepted socket connection from /127.0.0.1:63486
28.Eyl.2012 16:01:40 com.hazelcast.nio.ConnectionManager
WARNING: /127.0.0.1:5701 [elekCluster] Two connections from the same endpoint Address[127.0.0.1:5702], acceptTypeConnection=true, now accept=false
28.Eyl.2012 16:01:40 com.hazelcast.nio.InSelector
INFO: /127.0.0.1:5702 [elekCluster] 5702 is accepting socket connection from /127.0.0.1:63479
28.Eyl.2012 16:01:40 com.hazelcast.nio.InSelector
INFO: /127.0.0.1:5702 [elekCluster] 5702 accepted socket connection from /127.0.0.1:63479
28.Eyl.2012 16:01:40 com.hazelcast.cluster.ClusterManager
INFO: /127.0.0.1:5702 [elekCluster] Removing Address Address[127.0.0.1:5701]
28.Eyl.2012 16:01:45 com.hazelcast.impl.TcpIpJoiner
INFO: /127.0.0.1:5702 [elekCluster]
Members [1] {
Member [127.0.0.1:5702] this
}
...
事前に感謝します..