Apache-Camel Quartz simpleTrigger repeatCount и repeatInterval не запускают событие после первого триггерного события, fireNow
Я использую компонент из верблюжьего кварца с simpleTrigger, потому что мне нужно срабатывать сейчас при запуске, а затем каждые 12 часов. У меня есть 5 минут на тест ниже. синтаксис simpleTrigger
quartz://timerName?options
quartz://groupName/timerName?options
То, как это работает, заключается в том, что база данных загружается и создает экземпляр singleton, когда база данных загружается и становится доступной, она запускает следующий маршрут. этот маршрут должен запускаться, он запускается, выполняет задание при запуске один раз, а затем в каждом интервале, вот где он терпит неудачу, он не запускает другой триггер для этого интервала.
как я вижу, это fireNow=true, запускает маршрут при запуске
trigger.repeatInterval=300 establishes the period/interval between triggers
trigger.repeatCount=1 will allow 1 trigger to occur between repeatIntervals.
Он запускается, срабатывает сейчас первый триггер, но не запускает другое событие после этого???
Что я делаю не так или не понимаю? Спасибо за помощь.
fireNow=true&trigger.repeatInterval=300&trigger.repeatCount=1"
мой код:
<route autoStartup="false" id="get.custkeys">
<from id="get.custkeys" uri="quartz://autoTokenService/getcustkey?fireNow=true&trigger.repeatInterval=300&trigger.repeatCount=1"/>
<process id="get.custkeys.rte" ref="tokenListLookupProcessor"/>
<split id="splitcustkey">
<tokenize token=","/>
<log id="sck1" loggingLevel="INFO" message="Custkey Requesting Token: ${body}"/>
<process id="supKey" ref="setUpKeysProcessor"/>
<throttle id="custkey_throttle" timePeriodMillis="1000">
<constant>1</constant>
<to id="getKeys" uri="seda:processCustKeys"/>
</throttle>
</split>
</route>
1 ответ
Думаю, я нашел ответ, trigger.repeatCount=-1 позволит событию триггера повториться. кроме того, trigger.repeatInterval находится в миллисекундах.
ниже, запускает событие триггера при запуске. затем после repeatInterval событие триггера запускается снова. как и ожидалось.
<route autoStartup="false" id="get.custkeys">
<from id="get.custkeys" uri="quartz://autoTokenService/getcustkey?fireNow=true&trigger.repeatInterval=120000&trigger.repeatCount=-1&trigger.misfireInstruction=2"/>
<process id="get.custkeys.rte" ref="tokenListLookupProcessor"/>
<split id="splitcustkey">
<tokenize token=","/>
<log id="sck1" loggingLevel="INFO" message="Custkey Requesting Token: ${body}"/>
<process id="supKey" ref="setUpKeysProcessor"/>
<throttle id="custkey_throttle" timePeriodMillis="1000">
<constant>1</constant>
<to id="getKeys" uri="seda:processCustKeys"/>
</throttle>
</split>
</route>