如何使Apache Camel Quartz2 firenow保持一致工作

问题描述 投票:0回答:1

我使用的是Quartz2,它已打包在Apache骆驼2.23.2中。我正在使用“ fireNow”功能在部署后立即触发作业。但它不能始终如一地工作。

有时会在很长一段时间后被触发,有时却不会被触发。

该问题不会经常发生。我尝试启用日志以了解发生了什么。我没有看到任何错误消息。我发现在工作和非工作之间的唯一区别是调用Consumer的顺序]

工作日志

org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#Seting org.quartz.scheduler.jmx.export = true以确保QuartzScheduler( s)将加入JMX。 org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#naingCreating 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.threadCount = 1} | org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#na#创建并初始化调度程序。 org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#na#将camelContextName = Timer_Issue存储到Quartz上下文空间中。 org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#创建新的CamelJob。 org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#Created jobDetail = JobDetail'Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721':jobClass:'org.apache.camel .component.quartz2.CamelJob concurrentExectionDisallowed:错误persistJobDataAfterExecution:错误isDurable:错误请求恢复:false | org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#Creating SimpleTrigger。 org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#na#设置用户额外的triggerParameters {repeatCount = 0,repeatInterval = 0} | org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint Event Dispatcher:1 #### na#na#na#na#na#Created trigger = Trigger'Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721':triggerClass:'org.quartz.impl .triggers.SimpleTriggerImpl日历:'null'misfire指令:1 nextFireTime:null | org.apache.camel.component.quartz2.QuartzHelper ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#na#添加camelContextName = Timer_Issue,endpointUri = quartz2:// TimerIssueTimerEventDefinition3719721?fireNow = true&trigger.repeatCount = 0&trigger.repeatInterval = 0进入作业数据映射。 org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#Job Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721(triggerType = SimpleTriggerImpl,jobClass = CamelJob)已调度。下一个射击日期是UTC 2019 | 05月09日星期四| org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#na#将camelContextName = Timer_Issue存储到Quartz上下文空间中。“org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#na#启动调度程序。 org.apache.camel.component.quartz2.QuartzConsumer ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#起始使用者:Consumer [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#Running CamelJob jobExecutionContext = JobExecutionContext:触发器:'Camel_Timer_Issue.TimerIssssTimerIssueTimer_IssueTimer_37_1972 :'UTC 2019 Thu May 09 16:11:56 UTC ScheduleedFireTime:UTC 2019 Thu May 09 16:11:56 UTC previous previousFireTime:'null nextFireTime:null isRecovering:false refireCount:0 | org.apache.camel.component.quartz2.CamelJob ## anonymous#1557418314584-Timer_Issue_Worker-1 #### na#na#na#na#使用triggerKey = Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721 |查找现有的QuartzEndpoint“

不工作日志

INFO#org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#Seting org.quartz.scheduler.jmx.export = true以确保QuartzScheduler将加入JMX。 DEBUG#org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#Creating SchedulerFactory:1557418506499-Timer_Issue,属性:{org.quartz.scheduler。 jmx.export = true,org.quartz.scheduler.skipUpdateCheck = true,org.quartz.scheduler.instanceName = 155718506499-Timer_Issue,org.terracotta.quartz.skipUpdateCheck = true,org.quartz.threadPool.threadCount = 1} | INFO#org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#创建并初始化调度程序。 org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#na#将camelContextName = Timer_Issue存储到Quartz上下文空间中。 org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#创建新的CamelJob。 org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint Event Dispatcher:1 #### na#na#na#na#na#Created jobDetail = JobDetail'Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721':jobClass:'org.apache.camel .component.quartz2.CamelJob concurrentExectionDisallowed:错误persistJobDataAfterExecution:错误isDurable:错误请求恢复:false | org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#Creating SimpleTrigger。 org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#na#设置用户额外的triggerParameters {repeatCount = 0,repeatInterval = 0} | org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint Event Dispatcher:1 #### na#na#na#na#na#Created trigger = Trigger'Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721':triggerClass:'org.quartz.impl .triggers.SimpleTriggerImpl日历:'null'misfire指令:1 nextFireTime:null | org.apache.camel.component.quartz2.QuartzHelper ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#na#添加camelContextName = Timer_Issue,endpointUri = quartz2:// TimerIssueTimerEventDefinition3719721?fireNow = true&trigger.repeatCount = 0&trigger.repeatInterval = 0进入作业数据映射。 org.apache.camel.component.quartz2.QuartzEndpoint ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#Job Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721(triggerType = SimpleTriggerImpl,jobClass = CamelJob)已调度。下一个射击日期是UTC 2019 | 05月09日星期四| org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#na#将camelContextName = Timer_Issue存储到Quartz上下文空间中。“org.apache.camel.component.quartz2.QuartzComponent ## anonymous#Blueprint事件调度程序:1 #### na#na#na#na#na#启动调度程序。 org.apache.camel.component.quartz2.CamelJob ## anonymous#1557418506499-Timer_Issue_Worker-1 #### na#na#na#na#Running CamelJob jobExecutionContext = JobExecutionContext:trigger:'Camel_Timer_Issue.TimerIsssDefinition.19721 :''UTC 2019年5月9日星期四16:15:07已安排发射时间:UTC 2019年5月9日星期四16:09:07以前的发射时间:'null nextFireTime:null isRecovering:否refireCount:0 | org.apache.camel.component.quartz2.CamelJob ## anonymous#1557418506499-Timer_Issue_Worker-1 #### na#na#na#na#使用triggerKey = Camel_Timer_Issue.TimerIssueTimerEventDefinition3719721 |查找现有的QuartzEndpoint org.apache.camel.component.quartz2.QuartzConsumer ## anonymous#Blueprint事件分派器:1 #### na#na#na#na#na#起始使用者:Consumer [quartz2:// TimerIssueTimerEventDefinition3719721?fireNow = true&trigger.repeatCount = 0&trigger .repeatInterval = 0] |“

我已经用粗体突出显示了区别。看起来CamelJob甚至在Consumer启动之前就已触发。

apache-camel quartz-scheduler
1个回答
0
投票

仅供参考,我目睹了类似的情况。

© www.soinside.com 2019 - 2024. All rights reserved.