Я хочу отправить несколько сообщений через EventBus в Vertx, но синхронно.Я хочу отправить сообщение, дождаться его, а также отправил следующие.Адрес тот же.Это по умолчанию, как я это делаю?или нужно использовать, может быть, код executeBlocking?
Вот мой код.
public class EventBusSync {
private Vertx vertx = Vertx.vertx();
private static final String SERVICE_ADDRESS = "service.worker";
public void sentViaEvBus() {
String message1 = "message1";
String message2 = "message2";
String reply1 = sendCommand(SERVICE_ADDRESS,message1);
String reply2 = sendCommand(SERVICE_ADDRESS,message2);
}
private String sendCommand(String address, String command) {
String message;
vertx.eventBus().send(address,command, handler -> {
if(handler.succeeded()) {
log.info("success");
} else {
log.error("error",handler.cause());
throw new RuntimeException("ERROR");
}
message = handler.result.body();
});
return message;
}
}
Так что здесь, если первая команда отправлена и что-то происходит, я хочу прервать следующуюотправка событий.
Спасибо