请让我知道Apache Camel中的民意调查工作机制(CRON JOB)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请让我知道Apache Camel中的民意调查工作机制(CRON JOB)相关的知识,希望对你有一定的参考价值。

file://D:/Users/schintha/temp/input?autoCreate=false&include=.*.csv|.*.CSV|.*.eof|.*.EOF
&maxMessagesPerPoll=1000&moveFailed=.error&scheduler=spring&scheduler.cron=0+*+*+*+*+?
&sendEmptyMessageWhenIdle=true&sortBy=file:modified;ignoreCase:file:name

我使用上面的路由与轮询(cron调度程序)是每0秒(一分钟一次)。

如果文件(即一个或多个文件)传输花费的时间超过一分钟,那么sendEmptyMessageWhenIdle是否有效是我的问题。 因为,我在轮询期间没有文件时停止路线。

如果文件传输花费超过轮询时间(即在这种情况下超过一分钟),请告诉我poll(cron scheduler)的功能

我路线的结构:

<route>
<from>
<when>
<simple>${headers.CamelBatchSize} >= 1  and ${body} != null 
and ${headers.CamelFileName} != null</simple>
<to>
<otherwise> <toD uri="controlbus:route?routeId=${routeId}&amp;action=stop"/>    
</route>
答案

我不完全确定问题是什么?

如果当前轮询没有找到要处理的任何文件,则sendEmptyMessageWhenIdleoption将仅发送空消息正文。如果轮询找到一个文件并且处理所有发生的事件需要超过一分钟,那么新的轮询将与正在进行的轮询并行执行。

即如果当前轮询需要超过一分钟才能完成,您将不会收到空消息。

此外,如果没有要处理的文件,你唯一要做的就是停止路线你也可以完全删除sendEmptyMessageWhenIdle。如果该选项设置为false(默认情况下),则路径将自动停止(直到下一次轮询,即)。

以上是关于请让我知道Apache Camel中的民意调查工作机制(CRON JOB)的主要内容,如果未能解决你的问题,请参考以下文章

如何调查 Apache Camel Route 上的数据?

Scala 的 TreeSet 与 Java 的 TreeSet - 民意调查?

django 民意调查应用程序中的 TemplateDoesNotExist 错误

无法阻止Primefaces民意调查

如何使用php SDK在一个域内托管Facebook(作为App)运行php代码? [关闭]

如何对表示具有多个答案的民意调查的两个表使用一个查询?