2016-01-06 63 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'(或者改为)。阅读相同的参考手册一章。 –

相关问题