我想通过 Vertx 中的 EventBus 但同步发送多条消息。我想发送一条消息,等待它,然后发送下一条消息。地址是一样的。默认情况下我是怎么做的?或者有必要使用,也许,一个 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;
}
}
所以在这里,如果它发送了第一个命令并且正在发生某些事情,我想中断下一个 eventbus 发送。
汪汪一只猫
LEATH
森林海
相关分类