每个星期二早上8:00使用apache camel轮询一个文件目录



我正忙于一个apache camel项目,该项目将每周二8:00自动上传文件到SFTP服务器的过程。

我想将apache camel路由的延迟时间设置为:每周二8:00。

我该怎么做呢?

假设"A"是我的上车地点,"B"是我的目的地。

使用Quartz组件作为调度器,pollEnrich用于读取文件,FTP组件用于发送其内容:

from("quartz://myscheduler?cron=0+0+8+?+*+THU")
    .pollEnrich("file:inbox?fileName=data.txt")
    .to("ftp://foo@127.0.0.1:21/?password=pwd")

关于cron表达式的更多信息可以在这里找到

如果您使用Apache Camel 2.12或更高版本,那么文件消费者(以及任何其他基于调度器的消费者)可以选择使用开箱即用的cron调度器,无论是来自spring还是quartz2。

我写了一篇关于这个的博客文章,总结了这个

  • http://www.davsclaus.com/2013/08/apache -骆驼- 212甚至更容易cron.html

是调度选项

  • http://camel.apache.org/file2

本页有一些示例,参见QuartzScheduledPollConsumerScheduler

  • http://camel.apache.org/quartz2.html

您通常可以这样使用camel-quartz组件:

from("quartz://myscheduler?cron=0+0+8+*+*+2")
    // do stuff

但是第二看,我不确定这将如何作为sftp消费者工作(你能在骆驼做from("quartz...").from("sftp...")吗?我不太确定。

在这个线程中有关于如何通过RoutePolicy实现这一点的信息。

好运。

相关内容

  • 没有找到相关文章

最新更新