请有人可以向我解释一下这两种方法有什么区别:
vertx.evenbus().consumer("test", message -> {
..........
});
vertx.evenbus().send("test", res->{
...........
});
和:
public void test(Handler<AsyncResult<JsonObject>> resultHandler){
..........
}
test(res->{
..........
})
最佳答案
在vert.x中,事件总线使您可以快速构建分布式应用程序,而无需知道其他服务在何处运行,还可以通过添加更多在公用地址上侦听的顶点来进行扩展。
当您使用第一段代码时,实际上是在要求vert.x在群集上的任何位置定位可以处理该特定类型的消息"test"
的节点(可能与调用方相同)。
在第二个代码段中,如果您希望执行本地操作,则可以定义处理程序或回调,例如,从文件中读取JSON对象后该怎么做。
关于java - 使用Vertx“IAsyncResult”和“EventBus使用者”之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39634590/