Mule 3石英计时器校准,用于近实时处理

Mule 3石英计时器校准,用于近实时处理,mule,mule-studio,Mule,Mule Studio,我有一个处理链,需要在第二个的顶部输出数据,即 System.currentTimeMillis() % 1000 == 0 在+/-100毫秒内。所以,我设置了一个石英计时器如下 <quartz:inbound-endpoint repeatInterval="1000" responseTimeout="10000" doc:name="Quartz" jobName="publisher" startDelay="900"> <quartz:event-gene

我有一个处理链,需要在第二个的顶部输出数据,即

System.currentTimeMillis() % 1000 == 0
在+/-100毫秒内。所以,我设置了一个石英计时器如下

<quartz:inbound-endpoint repeatInterval="1000" responseTimeout="10000" doc:name="Quartz" jobName="publisher" startDelay="900">
    <quartz:event-generator-job/>
</quartz:inbound-endpoint>
我猜想startDelay只适用于第一个间隔。我还猜测,如果我插入一个使用Thread.sleep偶尔调整的自定义拦截器,我可能会调整计时器对齐方式。也就是说,如果它在449点醒来,线程睡眠(451)。或者,我可以将quartz设置为每50毫秒触发一次,并使用自定义拦截器筛选出超出所需时间范围的事件


有没有更干净的“纯粹主义者”方法让Mule这样做?

用每秒触发的Cron表达式替换
repeatInterval

根据中描述的Quartz支持的语法,以下应该可以工作:
0/1***

System.currentTimeMillis() % 1000 == 449