2
我们使用sftp通道适配器将文件发送到sftp服务器。有什么方法可以确认文件是否被传送? 我们所面对的是有时候我们的服务器和sftp服务器之间的连接断开了,我们想知道并且在文件传输不成功的情况下重试。弹出式集成出站sftp通道适配器文件传送确认
我们使用sftp通道适配器将文件发送到sftp服务器。有什么方法可以确认文件是否被传送? 我们所面对的是有时候我们的服务器和sftp服务器之间的连接断开了,我们想知道并且在文件传输不成功的情况下重试。弹出式集成出站sftp通道适配器文件传送确认
其实FileTransferringMessageHandler
中的所有内容都是按顺序完成的。 所以,我敢肯定,你都面临着你的日志是一个例外:
catch (FileNotFoundException e) {
throw new MessageDeliveryException(message, "File [" + inputStreamHolder.getName()
+ "] not found in local working directory; it was moved or deleted unexpectedly.", e);
}
catch (IOException e) {
throw new MessageDeliveryException(message, "Failed to transfer file ["
+ inputStreamHolder.getName() + " -> " + fileName
+ "] from local directory to remote directory.", e);
}
catch (Exception e) {
throw new MessageDeliveryException(message, "Error handling message for file ["
+ inputStreamHolder.getName() + " -> " + fileName + "]", e);
}
的<int-sftp:outbound-channel-adapter>
支持<request-handler-advice-chain>
,其中一人可能是<retry-advice>
(或MessageHandlerRetryAdvice
豆参考),以满足您的要求。请致电Reference Manual。
我们得到的异常来自sftp lib,它表示“输入流已关闭”。有什么办法可以解决这个异常并对它们进行审计?我还阅读了有关发送这种消息的errorChannel的信息。我们还需要一些方法来跟踪文件是否已成功传输。 – user509755
考虑在'MessageHandlerRetryAdvice'的相同位置使用'ExpressionEvaluatingRequestHandlerAdvice'(或者改为)。阅读相同的参考手册一章。 –