【发布时间】:2017-12-09 23:03:34
【问题描述】:
摘自“面向 Java 开发人员使用 Eclipse Vert.x 进行异步编程的温和指南”I know 如何从单个 Verticle 在 Vert.x 中部署 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 编排垂直”。那些函数可以使用事件总线和调用其他verticles,但是注册阶段似乎是一个瓶颈:如果我需要处理几十/几百/几千个URL怎么办?此方法无法扩展。
有没有办法在 Vert.x 中的多个 Verticle 之间拆分 HTTP 路由器配置,这样我就可以在单独的类中实现我的逻辑而无需在其他地方注册它?
【问题讨论】: