我正在尝试传播从客户端处理程序级别(ChannelInboundHandlerAdapter)捕获到通道级别(ChannelFuture)的异常。
用例似乎很简单:
我从REST请求开始;
进行检查并启动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 |
* +---------------------------+
有人帮我弄清楚吗?