2016-01-06 97 views

回答

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豆參考),以滿足您的要求。請致電Reference Manual

+0

我們得到的異常來自sftp lib,它表示「輸入流已關閉」。有什麼辦法可以解決這個異常並對它們進行審計?我還閱讀了有關發送這種消息的errorChannel的信息。我們還需要一些方法來跟蹤文件是否已成功傳輸。 – user509755

+0

考慮在'MessageHandlerRetryAdvice'的相同位置使用'ExpressionEvaluatingRequestHandlerAdvice'(或者改爲)。閱讀相同的參考手冊一章。 –

相關問題