Cron 使quartz在群集环境中只有一个线程

Cron 使quartz在群集环境中只有一个线程,cron,quartz-scheduler,job-scheduling,Cron,Quartz Scheduler,Job Scheduling,我有一个webapp,它有两个实例和一些不时运行的cronjobs。当只有一个调度器实例在运行时,cronjob会依次触发,下一个等待第一个实例完成,这正是我希望它的工作方式,因为几乎每个cronjob都在访问相同的数据 但是,如果在第二个实例中启动调度程序,则第二个cronjobs将在第一个实例完成之前启动 我找到了一些“解决方案”并实现了tehm,但它们不起作用 我的财产 # Use the MongoDB store org.quartz.jobStore.class=com.novemb

我有一个webapp,它有两个实例和一些不时运行的cronjobs。当只有一个调度器实例在运行时,cronjob会依次触发,下一个等待第一个实例完成,这正是我希望它的工作方式,因为几乎每个cronjob都在访问相同的数据

但是,如果在第二个实例中启动调度程序,则第二个cronjobs将在第一个实例完成之前启动

我找到了一些“解决方案”并实现了tehm,但它们不起作用

我的财产

# Use the MongoDB store
org.quartz.jobStore.class=com.novemberain.quartz.mongodb.MongoDBJobStore
# MongoDB URI (optional if 'org.quartz.jobStore.addresses' is set)
org.quartz.jobStore.mongoUri=
# comma separated list of mongodb hosts/replica set seeds (optional if 'org.quartz.jobStore.mongoUri' is set)
org.quartz.jobStore.addresses=mongodb://localhost:27017
# database name
org.quartz.jobStore.dbName=mytDb
# Will be used to create collections like mycol_jobs, mycol_triggers, mycol_calendars, mycol_locks
org.quartz.jobStore.collectionPrefix=quartz
# thread count setting is ignored by the MongoDB store but Quartz requries it
org.quartz.threadPool.threadCount=1
#set to true to enable the cluster funktions
org.quartz.jobStore.isClustered=true

org.quartz.jobStore.clusterCheckinInterval=20000

org.quartz.scheduler.instanceId=AUTO
正如您所看到的,我有一个线程cont为1,我认为当有两个实例运行时,会有两个线程

因此,我如何配置quartz,使其有两个调度程序实例正在运行,但只有一个正在工作,如果一个实例崩溃,则使用第二个

我还在我的作业类中添加了
@DisallowConcurrentExecution
,但这似乎也不起作用