Netty 将从ChannelInboundHandlerAdapter捕获的错误传播到ChannelFuture

Netty 将从ChannelInboundHandlerAdapter捕获的错误传播到ChannelFuture,netty,Netty,我正在尝试将从客户端处理程序级别(ChannelInboundHandlerAdapter)捕获的异常传播到通道级别(ChannelFuture) 用例似乎很简单: 我从一个休息请求开始 进行一些检查并启动FTP连接 如果我在处理程序级别(exceptionCaught)获得异常,我会将其传播到REST级别 我使用了如下方法: ChannelFuture.channel().closeFuture().cause()或ChannelFuture.isDone()或类似产品。对于每个方法,我都得到

我正在尝试将从客户端处理程序级别(ChannelInboundHandlerAdapter)捕获的异常传播到通道级别(ChannelFuture)

用例似乎很简单:

  • 我从一个休息请求开始

  • 进行一些检查并启动FTP连接

  • 如果我在处理程序级别(exceptionCaught)获得异常,我会将其传播到REST级别

  • 我使用了如下方法: ChannelFuture.channel().closeFuture().cause()ChannelFuture.isDone()或类似产品。对于每个方法,我都得到true或null,这意味着操作已成功完成

     *                                      +---------------------------+
     *                                      | Completed successfully    |
     *                                      +---------------------------+
     *                                 +---->      isDone() = true      |
     * +--------------------------+    |    |   isSuccess() = true      |
     * |        Uncompleted       |    |    +===========================+
     * +--------------------------+    |    | Completed with failure    |
     * |      isDone() = false    |    |    +---------------------------+
     * |   isSuccess() = false    |----+---->      isDone() = true      |
     * | isCancelled() = false    |    |    |       cause() = non-null  |
     * |       cause() = null     |    |    +===========================+
     * +--------------------------+    |    | Completed by cancellation |
     *                                 |    +---------------------------+
     *                                 +---->      isDone() = true      |
     *                                      | isCancelled() = true      |
     *                                      +---------------------------+
    

    有人帮我弄明白吗?

    你能澄清一下你想做什么吗?我不明白:/I我正在开发一个EDI开源项目。EDI系统主要基于OFTP2连接。为了实现最佳通信,我正在实现Netty lib。我试图找出如何在REST级别传播处理程序捕获的错误。据我所知,似乎我必须实现一个队列来管理这种情况。你需要更多的细节吗?