1
由於在集羣環境中管理作業,因此我使用帶有quartz的JDBC Job store。以下是我的JDBC配置用mysql:Quartz Scheduler:java.lang.IllegalStateException:JobStore已關閉 - 正在中止重試
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName: MyScheduler
org.quartz.scheduler.instanceId: instance_one
org.quartz.scheduler.skipUpdateCheck: true
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount: 5
org.quartz.threadPool.threadPriority: 5
#============================================================================
# Configure JobStore
#============================================================================
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties = false
org.quartz.jobStore.dataSource = quartz_cluster
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = true
#============================================================================
# Configure Datasources
#============================================================================
org.quartz.dataSource.quartz_cluster.driver = com.mysql.cj.jdbc.Driver
org.quartz.dataSource.quartz_cluster.URL = jdbc:mysql://localhost:3306/quartz_cluster
org.quartz.dataSource.quartz_cluster.user = root
org.quartz.dataSource.quartz_cluster.password = root
org.quartz.dataSource.quartz_cluster.maxConnections = 5
每當我運行上面的屬性石英,我的工作開始的執行和後執行4次,我得到以下異常:
[ERROR] - [2016-09-15 13:55:03,150] - [org.quartz.core.QuartzSchedulerThread] Runtime error occurred in main trigger firing loop.
java.lang.IllegalStateException: JobStore is shutdown - aborting retry
at org.quartz.impl.jdbcjobstore.JobStoreSupport.retryExecuteInNonManagedTXLock(JobStoreSupport.java:3772)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.releaseAcquiredTrigger(JobStoreSupport.java:2881)
at org.quartz.core.QuartzSchedulerThread.releaseIfScheduleChangedSignificantly(QuartzSchedulerThread.java:432)
at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:316)
以下是我的工作細節:
newJob(MyJob.class)
.withDescription("The myjob job")
.withIdentity("job-one", "group-one")
.usingJobData(jobDataMap)
.requestRecovery(true)
.build();
以下是我的觸發細節:
newTrigger()
.withIdentity("trigger-one", "group-one")
.withSchedule(cronSchedule("0/15 * * * * ?")
.withMisfireHandlingInstructionFireAndProceed())
.build();
我沒有得到異常的實際問題?