Logger

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>
XML
Logger LOGGER = LoggerFactory.getLogger("meinLogger");
Java
LOGGER.info("Programm wurde erfolgreich gestartet");
Java
LOGGER.error("Es ist ein Fehler aufgetreten!");
Java

TRACE < DEBUG < INFO < WARN < ERROR

<logger name="meinLogger" level="info"/>
XML

Asynchrone Programmierung

public void start(Future<Void> startFuture) {
	Future<Void> datenbankFuture = erstelleDatenbank()
	.compose(db -> erstelleUser("user", "geheim"));

	datenbankFuture.setHandler(db -> {
		if (db.succeeded()) {
			LOGGER.info("Datenbank initialisiert");
			startFuture.complete();
		} else {
			LOGGER.info("Probleme beim Initialisieren der Datenbank");
			startFuture.fail(db.cause());
		}
	});
}
Java
Future<String> starteDatenbankVerticle = Future.future();

vertx.deployVerticle(new DatenbankVerticle()); (1)

starteDatenbankVerticle.setHandler(db->{ (2)
	if (db.succeeded()) {
		LOGGER.info("War erfolgreich!");
	else {
		LOGGER.info("Fehlgeschlagen: "+db.cause());
	}
});
Java

Der Eventbus

String EB_ADRESSE = "vertxdatabase.eventbus";
Java
JsonObject request = new JsonObject().put("name", name)
.put("passwort", passwort);

DeliveryOptions options = new DeliveryOptions()
.addHeader("action", "ueberpruefe-passwort");
vertx.eventBus().send(EB_ADRESSE, request, options, reply -> {
	if (reply.succeeded()) {
		JsonObject body = (JsonObject) reply.result().body();
		if (body.getBoolean("passwortStimmt") == true) {
			session.put("angemeldet", "ja");
			jo.put("typ", "überprüfung").put("text", "ok");
		} else {
			jo.put("typ", "überprüfung").put("text", "nein");
		}
		response.end(Json.encodePrettily(jo));
	} else {
		jo.put("typ", "überprüfung").put("text", "nein");
		response.end(Json.encodePrettily(jo));
	}
});
Java
vertx.eventBus().consumer(EB_ADRESSE, this::onMessage);
Java
private void onMessage(Message<JsonObject> message) {

	String action = message.headers().get("action");
	if (action.equals("ueberpruefe-passwort")){
		String name = message.body().getString("name");
		String passwort = message.body().getString("passwort");

		if (passwort.equals("geheim")&&name.equals("user")){
			message.reply(new JsonObject().put("passwortStimmt", Boolean.TRUE));
		} else {
			message.reply(new JsonObject().put("passwortStimmt", Boolean.FALSE));
		}
	}
}
Java