请有人向我解释这种方法有什么区别:
vertx.evenbus().consumer("test", message -> {
..........
});
vertx.evenbus().send("test", res->{
...........
});
和
public void test(Handler<AsyncResult<JsonObject>> resultHandler){
..........
}
test(res->{
..........
})
答案 0 :(得分:2)
在vert.x中,eventbus允许您快速构建分布式应用程序,而无需知道其他服务的运行位置,并且还允许您通过添加更多监听公共地址的Verticle进行扩展。
当您使用第一段代码时,您实际上要求vert.x在群集中的任何位置找到一个节点(可以与调用者相同),它可以处理该特定类型的消息{{ 1}}。
在第二个片段中,如果您更喜欢本地操作,则可以定义处理程序或回调,例如,从文件中读取JSON对象后要执行的操作。