Kann zusammen mit anderen Frameworks verwendet werden
.. oder alleine
Vert.x Grundlagen
Verticle
Basiskomponente in Vert.x
public class MyVerticle extends AbstractVerticle {
public void start() {
System.out.println("Hello World");
}
}
Worker Verticle
Worker können blockierende Aufrufe enthalten
Werden in einem Thread-Pool ausgeführt
Eventbus
"Nervensystem" von Vert.x
Über den Event-Bus können Verticle miteinander kommunizieren
Nachrichten werden an eine Adresse gesendet
Verticles können sich für Adressen registrieren
Verschiedene Nachrichten-Kommunikation:
Publish/Subscribe
Point to point
Request-Response
Nachrichten empfangen
Nachrichten können über Handler empfangen werden:
vertx.eventBus().consumer("uni.bremen", message -> {
System.out.println("I have received a message: " + message.body());
});
public class MyVerticle extends AbstractVerticle
implements Handler<Message<JsonObject>>{
public void start() {
vertx.eventBus().consumer("uni.bremen", this);
}
@Override
public void handle(Message<JsonObject> message) {
System.out.println("I have received a message: " + message.body());
message.reply("Got it");
}
}
Nachrichten senden
Nachrichten können mittels send & publish versendet werden
Mit publish wird die Nachricht an jeden horchenden Handler gesendet
Mit send wird die Nachricht an einen horchenden Handler gesendet
Antworten können nur durch die Nutzung von send erhalten werden