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&amp;trigger.repeatInterval=300&amp;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&amp;trigger.repeatInterval=120000&amp;trigger.repeatCount=-1&amp;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>
Другие вопросы по тегам