DeliveryOptionsを使用すると、Verticles間でメッセージを転送できます。
たとえば次の点を考慮
// MainVerticleは、データを受信しているであろうと、私たちはMessagingVerticleし、それらのメッセージを送る
public class MainVerticle extends AbstractVerticle {
@Override
public void start(Future<Void> fut) {
//your logic goes here for message object to pass
MessageConsumer<Object> mc = vertx.eventBus().consumer("your_addressToServer").handler(message -> {
Object message = message.body();
final DeliveryOptions options = new DeliveryOptions().setCodecName("any_messaging_address_name");
vertx.eventBus().send("any_messaging_address_name", Object(message object to pass) , options);
});
}
}
//をMessagingVerticleするために送信されます
public class MessagingVerticle extends AbstractVerticle {
@Override
public void start(Future<Void> fut) {
vertx.eventBus().<Object>consumer("any_messaging_address_name",
message -> {
Object messageCommand = message.body(); // received object from MainVerticle
});
fut.complete();
}
}
私はこれがあなたを助けることを願っています:)
あなたの答えをありがとう。私はこれがヘッダーがそのままの状態でメッセージを転送するのにどのように役立つのか、まだ分かりません。 –
'message.headers()'を使ってレスポンスボディからヘッダを取得し、それを必要に応じて使用することができます。 – Flash
はい、私はそれをすることができます。実際には、私が質問したように、転送の各ポイントですべてのヘッダーやその他のメタ情報をコピーせずにメッセージを転送したいと思う。 –