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