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'(或者改爲)。閱讀相同的參考手冊一章。 –