在SFTP上记录实际文件/目录“无此文件”失败

时间:2018-09-28 23:22:53

标签: spring-integration spring-integration-sftp

我们相当频繁地使用Spring Integration,并且效果很好。但是,我不确定如何获取Jsch / Spring集成来记录有问题的实际文件,例如,当我从例如尝试在sftp服务器上不存在的目录中列出错误时抛出错误时。我得到类似下面的异常。

是否有任何办法哄骗Spring Integration或Jsch来在文件上打印出“无此文件”的信息?当我查看Jsch代码时,似乎没有针对该特定问题进行任何日志记录,但是我可能错过了一些内容,即使它没有内容,也许捕获此异常的Spring代码也具有一些上下文,可以登录。

照这样,我们要么必须在此类实例中附加调试器,要么尝试对可能需要设置的目录进行有根据的猜测。

Caused by: org.springframework.messaging.MessagingException: Failed to execute on session; nested exception is org.springframework.core.NestedIOException: Failed to list files; nested exception is 2: No such file
    at org.springframework.integration.file.remote.RemoteFileTemplate.execute(RemoteFileTemplate.java:444)
    at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer.synchronizeToLocalDirectory(AbstractInboundFileSynchronizer.java:235)
    ... 13 common frames omitted
Caused by: org.springframework.core.NestedIOException: Failed to list files; nested exception is 2: No such file
    at org.springframework.integration.sftp.session.SftpSession.list(SftpSession.java:104)
    at org.springframework.integration.sftp.session.SftpSession.list(SftpSession.java:50)
    at org.springframework.integration.file.remote.session.CachingSessionFactory$CachedSession.list(CachingSessionFactory.java:218)
    at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer$1.doInSession(AbstractInboundFileSynchronizer.java:239)
    at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer$1.doInSession(AbstractInboundFileSynchronizer.java:235)
    at org.springframework.integration.file.remote.RemoteFileTemplate.execute(RemoteFileTemplate.java:435)
    ... 14 common frames omitted
Caused by: com.jcraft.jsch.SftpException: No such file
    at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2873)

1 个答案:

答案 0 :(得分:1)

我打开了INT-4534,将目录添加到异常中。