1

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
}
...

事前に感謝します..

4

2 に答える 2

0

hazelcastのバージョンを1.9.4.8から2.3.1にアップグレードすると、問題はなくなりました。

于 2012-10-17T12:16:48.113 に答える
0

メールグループの関連するメールスレッドを参照してください。

于 2012-10-17T09:42:57.820 に答える