来自一本书"使用Eclipse Vert.x为Java开发人员进行异步编程的温和指南" I know如何在Vert.x中从单个Verticle部署HTTP处理程序:
HttpServer server = vertx.createHttpServer();
Router router = Router.router(vertx);
router.get("/").handler(this::getRoot);
router.post("/").handler(this::postRoot);
server
.requestHandler(router::accept)
.listen(portNumber, ar -> { ... });
这一切都很棒但后来我需要在同一个类中定义getRoot
和postRoot
方法(当然我可以在这里使用不同的类)和"注册"这些功能在单,主要" HTTP编排Verticle"中的路由器中。这些函数可以使用事件总线并调用其他Verticle,但注册阶段似乎是一个瓶颈:如果我需要处理几十个/几百个/几千个URL怎么办?这个apprioach不会扩展。
有没有办法在Vert.x中的多个Verticle之间拆分HTTP路由器配置,所以我可以在不同的类中实现我的逻辑,而无需在其他地方注册它?