2017-08-24 1 views

Antwort

0

Mit DeliveryOptions können Sie Nachrichten zwischen Verticles übertragen.

folgendes Beispiel:

// MainVerticle werden Daten werden empfangen und wir werden das Senden

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); 

    }); 

} 

} 

// senden diese Nachrichten an MessagingVerticle 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(); 
    } 

} 

Ich hoffe das hilft dir :)

+0

Danke für Ihre Antwort. Ich verstehe immer noch nicht, wie dies mir helfen würde, Weiterleitungsnachrichten mit intakten Kopfzeilen zu erreichen. –

+0

Sie können 'message.headers()' verwenden, um eine Kopfzeile aus dem Antworthauptteil abzurufen und sie wie gewünscht zu verwenden. – Flash

+0

Ja, das kann ich tun. Eigentlich möchte ich die Nachricht weiterleiten, ohne alle Header und andere Metainformationen an jedem Punkt der Weiterleitung zu kopieren, wie ich in der Frage erwähnt habe. –

Verwandte Themen