スケジューリングジョブにQuartzを使用するJavaアプリケーションがあります。 quartzのバージョンは次のとおりです。quartz-2.2.1データベース接続エラー時に再起動するQuartz Scheduler
クォーツの構成では、JDBCジョブストアが使用されています。データベース接続が石英スケジューラオブジェクト上のstartメソッドを呼び出した時に(による断続的なネットワーク障害のために)ダウンしている場合
、それが次の例外で失敗します
2017-05-28 00:05:45 org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Couldn't recover jobs: The connection is closed. [See nested exception: com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.]]
2017-05-28 00:05:45 at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:692)
2017-05-28 00:05:45 at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:567)
2017-05-28 00:05:45 at org.quartz.impl.StdScheduler.start(StdScheduler.java:142)
その石英スケジューラを確保するためにコードが再試行され、1秒ごとにquartzスケジューラオブジェクトのstartメソッドが呼び出されました。しかし、データベース接続が確立すると、quartzスケジューラーの開始メソッドの呼び出しは成功します(例外は発生しません)。しかし、データベースにある関連トリガーは開始されず、ジョブもトリガーされません。
何が問題なのでしょうか?いかなる援助も感謝しなければならない。ここで
は、石英の構成である、あなたがjob misfiresに問題がある可能性があります
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName = TestScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.skipUpdateCheck=true
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 50
org.quartz.threadPool.threadPriority = 5
#============================================================================
# Configure JobStore
#============================================================================
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.maxMisfiresToHandleAtATime = 15
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 = aBPM
org.quartz.jobStore.tablePrefix = ABPM_
org.quartz.jobStore.isClustered = false
org.quartz.jobStore.useDBLocks = false
org.quartz.jobStore.acquireTriggersWithinLock = true
#============================================================================
# Configure Datasources
#============================================================================
org.quartz.dataSource.aBPM.driver = org.hsqldb.jdbcDriver
org.quartz.dataSource.aBPM.URL = jdbc:hsqldb:file:embeddedDb/db/abpmquartz
org.quartz.dataSource.aBPM.user = sa
org.quartz.dataSource.aBPM.encryptPassword = yes
org.quartz.dataSource.aBPM.password = fMFVvEFk3gFmM9ewWQkTNg==
org.quartz.dataSource.aBPM.maxConnections = 55
org.quartz.dataSource.aBPM.validationQuery= SELECT 1
こんにちはアマン、この質問を投稿してから約2ヶ月が経過しており、私はそれに答えました。私の答えが助けになることがわかったら、それを受け入れたもの(投票矢印の下にある小切手)としてマークすることをお勧めします。ありがとう! – walen