将错误从ChannelInboundHandlerAdapter传播到ChannelFuture

时间:2019-10-03 14:24:23

标签: netty

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

用例似乎很简单:

  1. 我从REST请求开始;

  2. 进行检查并启动FTP连接;

  3. 如果在处理程序级别(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      |
 *                                      +---------------------------+

有人帮我弄清楚吗?

0 个答案:

没有答案