文件在Camel中从一个目录移动到另一个目录

时间:2018-05-14 07:47:41

标签: file apache-camel

我正在尝试使用骆驼版2.17进行文件处理,我的要求是将文件从一个文件夹移动到另一个文件夹。如果文件名有昨天的日期。为此,我编写了以MMddyyyy格式获取昨天日期的java代码。

我创建了以下路线来移动文件,但我在调用${bean.yesterdayDate}中的from时遇到了问题。如果我单独运行bean我可以得到日期问题是无法仅从中调用。

<route autoStartup="true" customId="true" id="readingfilesFromfolder">
    <from uri="file://{{baseDirectory}}?move={{file.moved.path}}&amp;scheduler=quartz2&amp;antInclude=*_${bean:yesterdayDate}.xml&amp;scheduler.cron={{moveFile.scheduler}}"/>
    <to uri="mock:result2"/>
    <log message="File Name Named - ${header.CamelFileName} is moved"/>
</route>

感谢。

1 个答案:

答案 0 :(得分:0)

<from>无法支持antInclude选项中的动态bean方法调用。您可以使用filter选项并实现GenericFileFilter界面,您可以通过昨天的日期计算是否包含该文件。

请参阅文档以获取示例和更多详细信息: https://github.com/apache/camel/blob/master/camel-core/src/main/docs/file-component.adoc#filter-using-orgapachecamelcomponentfilegenericfilefilter