提问者:小点点

是否可以在Vert. x中从不同的垂直位置部署HTTP处理程序


从《面向Java开发人员的Eclipse Vert. x异步编程温和指南》一书中,我知道如何从一个垂直方向在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 -> { ... });

这一切都很棒,但是后来我需要在同一个类中定义getRootpostRoot方法(当然我可以在这里使用不同的类),并将这些函数“注册”到一个路由器中,在一个单一的、主要的“HTTP编排垂线”中。这些函数可以使用事件总线并调用其他垂线,但是注册阶段似乎是这里的瓶颈:如果我需要处理几十/几百/几千个URL怎么办?这个apprioach无法扩展。

有没有办法在Vert. x中的多个垂直点之间拆分HTTP路由器配置,这样我就可以在单独的类中实现我的逻辑,而不需要在其他地方注册它?


共1个答案

匿名用户

您不能将路由器配置拆分为不同的垂直度。

如果您有很多处理程序,请使用子路由器