Spring integration 使用'的spring ftp集成;本地文件名生成器表达式';

Spring integration 使用'的spring ftp集成;本地文件名生成器表达式';,spring-integration,Spring Integration,我想从ftp读取文件,并将其存储在本地,路径与根目录下的远程文件相同(我需要它来处理文件)。 远程文件路径是动态的,并且会根据筛选器而更改。 (当service activator调用方法pull时,将处理该文件) 我一直在尝试使用本地文件名生成器表达式,但我不确定如何编写SpEL表达式。 我对这个有点陌生,请帮助我,我不清楚你的意思 远程文件路径是动态的,并且会根据筛选器而更改 远程路径是一个文本;过滤器无法更改它 remote-directory="/" 如果您只是想将远程文件名用作本

我想从ftp读取文件,并将其存储在本地,路径与根目录下的远程文件相同(我需要它来处理文件)。 远程文件路径是动态的,并且会根据筛选器而更改。 (当
service activator
调用方法pull时,将处理该文件)


我一直在尝试使用
本地文件名生成器表达式
,但我不确定如何编写SpEL表达式。
我对这个有点陌生,请帮助我,我不清楚你的意思

远程文件路径是动态的,并且会根据筛选器而更改

远程路径是一个文本;过滤器无法更改它

remote-directory="/"
如果您只是想将远程文件名用作本地文件名(这将是默认值),只需省略
本地文件名生成器表达式


如果您确实想要动态路径而不是文件名,那么最好使用;在这里,您可以完全控制远程和本地路径。

不清楚您的意思

远程文件路径是动态的,并且会根据筛选器而更改

远程路径是一个文本;过滤器无法更改它

remote-directory="/"
如果您只是想将远程文件名用作本地文件名(这将是默认值),只需省略
本地文件名生成器表达式


如果您确实想要动态路径而不是文件名,那么最好使用;在这里,您可以完全控制远程和本地路径。

它可以工作,它创建文件夹但不放置文件,我得到异常原因:java.lang.ClassCastException:com.jcraft.jsch.ChannelSftp$LsEntry不能强制转换为java.io.file您需要显示完整的堆栈跟踪,但这意味着您使用的是
spring集成文件中的
FileListFilter
,而不是
spring集成文件中的
Sftp…Filter
。对于Sftp,它与docs.spring中的Filter类相同,但泛型是LsEntry类,不会与类强制转换异常粘合;您需要准确地显示您正在使用的内容和堆栈跟踪。它可以工作,它创建文件夹但不放置文件,我得到异常原因:java.lang.ClassCastException:com.jcraft.jsch.ChannelSftp$LsEntry不能强制转换为java.io.file您需要显示完整的堆栈跟踪,但这意味着您使用的是
spring集成文件中的
FileListFilter
,而不是
spring集成文件中的
Sftp…Filter
。对于Sftp,它与docs.spring中的Filter类相同,但泛型是LsEntry类,不会与类强制转换异常粘合;您需要准确地显示正在使用的内容和堆栈跟踪。