微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Apache Camel 如何通过 SFTP 支持 ASCII 模式文件传输?

如何解决Apache Camel 如何通过 SFTP 支持 ASCII 模式文件传输?

Apache Camel SFTP 实现使用 JSch。但是 JSCH 只支持二进制文件传输,我从这个链接了解到:
How to set file type and file transfer mode in JSch?

那么Camel SFTP是如何支持binary作为URI参数的呢?
https://camel.apache.org/components/latest/sftp-component.html

我的理解有误吗?

解决方法

文档很可能是假的。

  • FtpEndpointConfigurerSftpEndpointConfigurer 确实分别将 binary 参数传播到 FtpConfiguration.setBinarySftpConfiguration.setBinary。所以从这个意义上说,两者都支持那个参数。

  • 但是,虽然 FtpOperations 查询 FtpConfiguration.isBinary 并相应地设置 FtpClient 模式:

    client.setFileType(configuration.isBinary() ? FTP.BINARY_FILE_TYPE : FTP.ASCII_FILE_TYPE);
    
  • ... SftpConfiguration.isBinary 永远不会被调用。所以永远不会使用配置的值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。