Как заставить apache Camel Quartz2 firenow работать стабильно - PullRequest
0 голосов
/ 13 мая 2019

Я использую Quartz2, который входит в состав Apache Camel 2.23.2.Я использую функцию «fireNow» для запуска задания сразу после развертывания.но он не работает согласованно.

Иногда он срабатывает через долгое время, а иногда и не срабатывает.

Проблема возникает не очень часто.Я попытался включить журналы, чтобы выяснить, что происходит.я не видел ни одного сообщения об ошибке.единственное различие, которое я нашел между рабочей и нерабочей работой, - это порядок, в котором вызывается Потребитель

Рабочие журналы

org.apache.camel.component.quartz2.QuartzComponent## anonymous # Blueprint Event Dispatcher: 1 #### na # na # na # na # Установка org.quartz.scheduler.jmx.export = true, чтобы гарантировать, что QuartzScheduler (s) будут зачислены в JMX.org.apache.camel.component.quartz2.QuartzComponent ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Создание SchedulerFactory: 1557418314584-Timer_Issue со свойствами: {org.quartz.scheduler.jmx.export = true, org.quartz.scheduler.skipUpdateCheck = true, org.quartz.scheduler.instanceName = 1557418314584-Timer_Issue, org.terracotta.quartz.skipUpdateCheck = true, org.quartz.threadPool.thorg.apache.camel.component.quartz2.QuartzComponent ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Создать и инициализировать планировщик. |org.apache.camel.component.quartz2.QuartzComponent ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Хранение camelContextName = Timer_Issue в пространстве кварцевого контекста. |org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Blueprint Dispatcher Event: 1 #### na # na # na # na # Создание нового CamelJob. |org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Диспетчер событий чертежа: 1 #### na # na # na # na # Создано jobDetail = JobDetail 'Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721' или joblgame.cameg :.classgame.cameg :.cameg.cameg.cameg :.cameg.came.game.cameg :.cameg.came.game.came.game.came.game.came.game.came.came.game.came.came.game.came.game.came.game.came:.component.quartz2.CamelJob concurrentExectionDisallowed: false persistJobDataAfterExecution: false isDurable: false requestRecovers: false |org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Создание SimpleTrigger. |org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Установка дополнительных пользовательских триггеровParameters {repeatCount = 0, repeatInterval = 0} |org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Создан триггер = триггер 'Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721': triggerClass: 'orl.quartz..triggers.SimpleTriggerImpl календарь: пропуски 'null' Инструкция: 1 nextFireTime: null |org.apache.camel.component.quartz2.QuartzHelper ## anonymous # Диспетчер событий чертежа: 1 #### na # na # na # na # Добавление camelContextName = Timer_Issue, endpointUri = quartz2: // TimerIssueTimerEventDefinition3719721? triggerNreatre: == 0 & trigger.repeatInterval = 0 в карту данных задания.org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Job Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721 (triggerType = SimpleTriggerImpl, запланировано) является классом рабочих мест = класс_объектов.Следующая дата пожара - четверг, май 09 16:11:56 UTC 2019 |org.apache.camel.component.quartz2.QuartzComponent ## anonymous # Диспетчер событий чертежа: 1 #### na # na # na # na # Сохранение camelContextName = Timer_Issue в пространстве контекста кварца. |
"org.apache.camel.component.quartz2.QuartzComponent ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Запуск планировщика. |org.apache.camel.component.quartz2.QuartzConsumer ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Начальный потребитель: потребитель [quartz2: // TimerIssueTimerEventDefinition3719721? fireNow = true & trigger.repeatCount = 0 & trigger.repeatInterval = 0] |org.apache.camel.component.quartz2.CamelJob ## anonymous # 1557418314584-Timer_Issue_Worker-1 #### na # na # na # na # Выполнение CamelJob jobExecutionContext = JobExecutionContext: триггер:: 'Чт 09 мая 16:11:56 UTC 2019 запланированоFireTime: Чт 09 мая 16:11:56 UTC 2019 previousFireTime:' null nextFireTime: null isRecovering: false refireCount: 0 |org.apache.camel.component.quartz2.CamelJob ## anonymous # 1557418314584-Timer_Issue_Worker-1 #### na # na # na # na # Поиск существующей точки QuartzEndpoint с помощью triggerKey = Camel_Timer_Issue.TimerIssueTimerEvent7ef737 |"

Журнал не работает

INFO # org.apache.camel.component.quartz2.QuartzComponent ## anonymous # Диспетчер событий Blueprint: 1 #### na # na # na # na # Установка org.quartz.scheduler.jmx.export = true, чтобы гарантировать, что QuartzScheduler (s) будут зачислены в JMX. | DEBUG # org.apache.camel.component.quartz2.QuartzComponent ## анонимный#Blueprint Диспетчер событий: 1 #### na # na # na # na # Создание SchedulerFactory: 1557418506499-Timer_Issue со свойствами: {org.quartz.scheduler.jmx.export = true, org.quartz.scheduler.skipUpdateCheck = true,org.quartz.scheduler.instanceName = 1557418506499-Timer_Issue, org.terracotta.quartz.skipUpdateCheck = true, org.quartz.threadPool.threadCount = 1} | INFO # org.apache.camel.component.quom2.Qu ####Диспетчер событий Blueprint: 1 #### na # na # na # na # Создание и инициализация планировщика. | Org.apache.camel.component.quartz2.QuartzComponent ## anonymous # Диспетчер событий Blueprint: 1 #### na # na# na # na # Сохранение camelContextName = Timer_Issue в контекстное пространство кварца.org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Blueprint Dispatcher Event: 1 #### na # na # na # na # Создание нового CamelJob. |org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Диспетчер событий чертежа: 1 #### na # na # na # na # Создано jobDetail = JobDetail 'Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721' или joblgame.cameg :.classgame.cameg :.cameg.cameg.cameg :.cameg.came.game.cameg :.cameg.came.game.came.game.came.game.came.game.came.came.game.came.came.game.came.game.came.game.came:.component.quartz2.CamelJob concurrentExectionDisallowed: false persistJobDataAfterExecution: false isDurable: false requestRecovers: false |org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Создание SimpleTrigger. |org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Установка дополнительных пользовательских триггеровParameters {repeatCount = 0, repeatInterval = 0} |org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Создан триггер = триггер 'Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721': triggerClass: 'orl.quartz..triggers.SimpleTriggerImpl календарь: пропуски 'null' Инструкция: 1 nextFireTime: null |org.apache.camel.component.quartz2.QuartzHelper ## anonymous # Диспетчер событий чертежа: 1 #### na # na # na # na # Добавление camelContextName = Timer_Issue, endpointUri = quartz2: // TimerIssueTimerEventDefinition3719721? triggerNreatre: == 0 & trigger.repeatInterval = 0 в карту данных задания.org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Job Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721 (triggerType = SimpleTriggerImpl, запланировано) является классом рабочих мест = класс_объектов.Следующая дата пожара - четверг, май 09 16:15:07 UTC 2019 |org.apache.camel.component.quartz2.QuartzComponent ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Хранение camelContextName = Timer_Issue в пространстве кварцевого контекста. |»org.apache.camel.component.quartz2.QuartzComponent ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Запуск планировщика. | org.apache.camel.component.quartz2.CamelJob ## anonymous # 1557418506499-Timer_Issue_Worker-1 #### na # na # na # na # Выполнение CamelJob jobExecutionContext = JobExecutionContext: триггер: : 'Чт 09 мая 16:15:07 UTC 2019 запланированоFireTime: Чт 09 мая 16:15:07 UTC 2019 previousFireTime:' null nextFireTime: null isRecovering: false refireCount: 0 | org.apache.camel.component.quartz2.CamelJob ## anonymous # 1557418506499-Timer_Issue_Worker-1 #### na # na # na # na # Поиск существующего QuartzEndpoint с помощью triggerKey = Camel_Timer_Issue.TimerIssueTimerEvent7ef737 | org.apache.camel.component.quartz2.QuartzConsumer ## anonymous # Blueprint Dispatcher: 1 #### na # na # na # na # Начальный потребитель: потребитель [quartz2: // TimerIssueTimerEventDefinition3719721? fireNow = true & trigger.repeatCount = 0 & trigger .repeatInterval = 0] | "

Я выделил разницу жирным шрифтом. Похоже, что CamelJob запускается еще до запуска Consumer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...