Vertx - 同一路由的多个 failureHandlers

Vertx - Multiple failureHandlers for the same route

问题很简单:是否可以为一条路由设置多个故障处理程序?

router.route(HttpMethod.POST, "/test")
        .handler(LoggerHandler.create())
        .handler(ResponseTimeHandler.create())
        .failureHandler(MyCustomFailureHandler1.create())
        .failureHandler(MyCustomFailureHandler2.create());

我目前正在使用 vert.x 版本 4.0.2,我可以在内部看到,我创建的每个失败处理程序都被添加到 failureHandlers 列表中,但是当抛出错误时,唯一的失败处理程序执行是指定的第一个。

从第一个失败处理程序 (MyCustomFailureHandler1.create()) 开始,您必须调用 RoutingContext#next()

RoutingContext#next() 的文档指出:“如果不为处理程序调用 next,则处理程序应确保它结束响应,否则不会发送任何响应”。

在此处查看测试用例:testMultipleSetFailureHandler