我试着让骆驼做一些文件操作,并通过activeMQ经纪人传递给他们,我把这个项目从一个刚刚离职的人那里拿走了。
到目前为止,
<route id="SVLFTPcopY"> <from uri="sftp://*****:*******@********/srv/test/?fileName=*2280.xls&noop=true&idempotent=false"/> <to uri="file:/srv/data/test/destination/"/> <to uri="activemq:queue:svl.ftp.copy"/> </route>
它工作到运行路线而没有任何错误,但仍然不会将文件复制到本地文件。
有任何想法吗? 。
Nginx在匹配之前是否会引用/ unescape URL字符?
如何在文件中search正则expression式,然后修改所有的事件?
正则expression式在KornShell中
用SED或AWK替代date(或任何工作) – Linux的正则expression式
在Linux上的R中的string中删除(不分割)空格字符
正则expression式replace
正则expression式模式不支持#符号
是的,如果你想过滤出基于模式的文件,你需要使用包含/排除/过滤器选项。 fileName选项是针对单个文件的。
所以在你的情况下,删除fileName选项并将其替换为include=.*2280.xsl 。 请注意,include是基于Java正则表达式的,所以我们使用dot star来表示通配符。 更多细节在这里: http : //camel.apache.org/file2 。 ftp组件继承了文件组件99%的选项,所以这就是我引用文件wiki页面的原因。
使用使用Java正则表达式的include选项:
include=.*2280\.xsl
请介意点之前的\ .
或者,使用antInclude :
antInclude=*2280.xsl
对于那种过滤,我推荐使用GenericFileFilter
if (ObjectHelper.isNotEmpty(endpoint.getInclude())) { if (!name.matches(endpoint.getInclude())) { return false; } }
所以你可以测试你应该使用哪个正则表达式。 在你的情况下,我想.*2280\.xsl是你应该使用的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。