我正在尝试使用骆驼版2.17进行文件处理,我的要求是将文件从一个文件夹移动到另一个文件夹。如果文件名有昨天的日期。为此,我编写了以MMddyyyy
格式获取昨天日期的java代码。
我创建了以下路线来移动文件,但我在调用${bean.yesterdayDate}
中的from
时遇到了问题。如果我单独运行bean我可以得到日期问题是无法仅从中调用。
<route autoStartup="true" customId="true" id="readingfilesFromfolder">
<from uri="file://{{baseDirectory}}?move={{file.moved.path}}&scheduler=quartz2&antInclude=*_${bean:yesterdayDate}.xml&scheduler.cron={{moveFile.scheduler}}"/>
<to uri="mock:result2"/>
<log message="File Name Named - ${header.CamelFileName} is moved"/>
</route>
感谢。
答案 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