为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

萧十郎 2023-08-09 15:27:08
我正在尝试通过 Sftp 并使用 Spring Integration SftpOutboundGateway 方法删除多个文件。我正在使用 QueueChannel 进行请求和响应。另外,我将采用异步方式,以便我可以提交多个请求。我最近还添加了一个错误通道。现在的问题是我的第一个请求是一个不存在的文件,所以我很高兴收到“2:没有这样的文件”异常消息。但一旦发生这种情况,其他请求就会陷入困境。
查看完整描述

1 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

好的。看起来你的问题是你没有捕获异常来继续。


请参阅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


查看完整回答
反对 回复 2023-08-09
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信