クラスタ化されたvert.xでメッセージを他のホストに送信しようとしています。 1つのコンピュータで次のコードを2回実行することはできますが、2つのホストを使用すると失敗します(メッセージは受信されません)。私はHazelcastでVert.x 3.3.1を使用します。スレーブ側のログを、別のホスト上で実行していました。そこには、お互いを見つけて接続しているようです。ネットワーク経由でVert.xメッセージを送信できません
入力に感謝します!別のホスト上で実行されているスレーブの
ワーカー
public class WorkerVerticle extends AbstractVerticle {
@Override
public void start() throws Exception {
System.out.println("Deployed " + getClass().getName());
vertx.eventBus().<String> consumer("TEST_ADDRESS", this::doWork);
}
private void doWork(Message<String> msg) {
String workItemString = msg.body();
System.out.println("Got Work:" + workItemString);
}
}
Mainclass
public class Starter {
Vertx vertx;
public Starter(boolean slave) {
VertxOptions options = new VertxOptions();
options.setClustered(true);
Future<Void> completer1 = Future.future();
Vertx.clusteredVertx(options, res -> {
if (res.succeeded()) {
vertx = res.result();
completer1.complete();
System.out.println("Opened clustered vertx");
} else {
System.out.println("Failed: " + res.cause() + ". Quitting now.");
System.exit(-1);
}
});
completer1.setHandler(new Handler<AsyncResult<Void>>() {
@Override
public void handle(AsyncResult<Void> event) {
if (slave) {
System.out.println("Deploying worker");
vertx.deployVerticle(WorkerVerticle.class.getName());
} else {
System.out.println("publishing message");
vertx.eventBus().publish("TEST_ADDRESS", "Test");
}
}
});
}
}
例ログは
INFORMATION: [192.168.2.191]:5701 [dev] [3.6.3] Accepting socket connection from /192.168.2.3:55878
Jul 21, 2016 10:20:43 AM com.hazelcast.nio.tcp.TcpIpConnectionManager
INFORMATION: [192.168.2.191]:5701 [dev] [3.6.3] Established socket connection between /192.168.2.191:5701 and /192.168.2.3:55878
Jul 21, 2016 10:20:44 AM com.hazelcast.cluster.ClusterService
INFORMATION: [192.168.2.191]:5701 [dev] [3.6.3]
Members [2] {
Member [192.168.2.191]:5701 this
Member [192.168.2.3]:5701
}
'-cluster'スイッチでvertexプロセスを実行していますか? –
プログラムを次のように起動します: 'java -jar vertxtest.jar -cluster' – timmiotooltim
両方のホストからもう一方のポート5701にtelnet ipポートを試すことができますか?私はそれが接続されているが、ちょうど確かめることをHZの報告を知っている... –