Apache Camel中Quartz 2调度程序的不一致行为

bcs8qyzn  于 12个月前  发布在  Apache
关注(0)|答案(1)|浏览(170)

我有一个Apache Camel项目,它使用Quartz2作为调度器。要求是使其成为一个集群。代码部署到weblogic 12c。quartz根据启用集群的许多示例进行配置。
这是我的属性文件(不带属性)

org.quartz.scheduler.instanceName = MyScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.skipUpdateCheck = true
org.quartz.scheduler.jobFactory.class = org.quartz.simpl.SimpleJobFactory

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5

org.quartz.jobStore.misfireThreshold = 60000

org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
org.quartz.jobStore.useProperties=true
org.quartz.JobBuilder.requestRecovery=true

org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 20000

字符串
当我部署并启动两个节点时,我看到QRTZ_SCHEDULER_STATE表中有一个节点的额外条目:

MyScheduler-routerContext   server_node21567108546690
MyScheduler-routerContext-1 server_node11565896495100
MyScheduler-routerContext-1 server_node11567108547295


我猜是因为一个节点偶尔被调用,而另一个节点一直被调用(所以偶尔两个节点同时被调用)。
我已经尝试做一个干净的重新启动的weblogic节点,但问题仍然存在
这是我的路线(S)看起来像:

from("quartz2://provRegGroup/createUsersTrigger?cron={{create_users_cron}}&job.name=createUsersJob") 
            .routeId("createUsersRB")
            .log("**** starting check for create users");

//where 
//create_users_cron=0+0,5,10,15,20,25,30,35,40,45,50,55+*+*+*+?

//expecting one node being called by the scheduler at a time..

h9vpoimq

h9vpoimq1#

我找出了问题的原因。显然有孤儿weblogic进程运行在一个(甚至两个节点)-这将是一个问题,我们的技术archs -为什么这是如此混乱.. ps是显示两个weblogic服务器上运行的节点-一个是我最近开始的,另一个是在那里呆了一个月的..我希望这永远不会发生在生产环境中,我假设这个问题已经解决了..

相关问题