2016-08-23 47 views
0

即時消息與我的兩個垂直,我想在聚集模式下啓動。頂點:爲什麼沒有聚集的垂直頂點?

這裏是我的兩個verticles的啓動方法:

首先Verticle:

public static void main(String[] args) { 
    VertxOptions options = new VertxOptions(); 

    options.setClustered(true); 
    options.setClusterManager(new HazelcastClusterManager()); 

    Vertx.clusteredVertx(options, res -> { 
     Vertx vertx = res.result(); 
     vertx.deployVerticle(new WalzenSchnittBlMock()); 

    }); 

} 

二Verticle:

public void start() { 
    VertxOptions options = new VertxOptions(); 

    Vertx.clusteredVertx(options, res -> { 
     vertx = res.result(); 
     vertx.deployVerticle(serviceVerticle, this::completeRegister); 
    }); 
} 

Thhis 2個verticles駐留在不同的機器,但他們做的不是「看到」彼此,雖然有集羣模式....是否有任何問題..我錯過了什麼?

+1

您是否啓用了Hezelcast日誌記錄?我會從那裏開始:http://vertx.io/docs/vertx-hazelcast/java/#_enabling_logging –

+1

我同意啓用日誌記錄。您也可能檢查防火牆規則。兩臺機器都在同一個網絡上嗎? – dbh

回答

0

我找到了解決辦法:

我有兩臺機器和他們每個人有四個networkcards - 和vertx似乎選錯了一個。所以我被迫設置了vertex應該使用的IP地址。結果看起來像Ipadress是jar文件的參數:

VertxOptions options = new VertxOptions(); 

    Config config = new Config(); 
    NetworkConfig networkConfig = config.getNetworkConfig(); 

    networkConfig.getInterfaces().setEnabled(true).addInterface(args[0]); 
    options.setClusterManager(new HazelcastClusterManager(config)); 
    options.setClustered(true); 
    options.setClusterHost(args[0]); 

    Vertx.clusteredVertx(options, res -> { 
     Vertx vertx = res.result(); 
     vertx.deployVerticle(new Receiver()); 

    });