spring集成出站sftp通道适配器文件传递确认

时间:2016-01-06 16:53:50

标签: spring-integration

我们正在使用sftp通道适配器将文件发送到sftp服务器。有没有办法确认文件是否已发送? 我们面临的是有时我们的服务器和sftp服务器之间的连接断开,我们想知道并重试文件传输是否成功。

1 个答案:

答案 0 :(得分:1)

实际上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 bean引用)以满足您的要求。

请在Reference Manual找到更多信息。