Sftp 出站网关多个删除请求在第一个“找不到文件”问题后卡住

我正在尝试通过 Sftp 并使用 Spring Integration SftpOutboundGateway 方法删除多个文件。

我正在使用 QueueChannel 进行请求和响应。另外,我将采用异步方式,以便我可以提交多个请求。我最近还添加了一个错误通道。

现在的问题是我的第一个请求是一个不存在的文件,所以我很高兴收到“2:没有这样的文件”异常消息。但一旦发生这种情况,其他请求就会陷入困境。


萧十郎
浏览 121回答 1
1回答

holdtom

好的。看起来你的问题是你没有捕获异常来继续。请参阅async以下选项ServiceActivatingHandler:/** * Allow async replies. If the handler reply is a {@link ListenableFuture}, send * the output when it is satisfied rather than sending the future as the result. * Ignored for return types other than {@link ListenableFuture}. * @param async true to allow. * @since 4.3 */public final void setAsync(boolean async) {因此,仅当从目标实现返回a (或 Reactive )时,它才真正是异步的。这不是事实。因此,您的网关定义是正确的方法。尽管您需要从中返回一些内容,但这将是网关调用的返回。否则我们就会陷入等待回复或错误的境地。ListenableFuturePublsiherhandleRequestMessage()SftpOutboundGatewayerrorChannel = "sftp.error.channel"sftpErrorHandler
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java