quartz屬性檔案和jar包說明
屬性的介紹(quartz.properties)
# Default Properties file for use by StdSchedulerFactory
# to create a Quartz Scheduler Instance, if a different
# properties file is not explicitly specified.
#
#config scheduler
org.quartz.scheduler.instanceName = DefaultQuartzScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.rmi.export = false
org.quartz.scheduler.rmi.proxy = false
org.quartz.scheduler.wrapJobExecutionInUserTransaction = false
#config threadPool
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true
#config jobStore
org.quartz.jobStore.misfireThreshold = 600000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
#config plugin
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileNames = my_quartz_jobs.xml,my_quartz_jobs2.xml
org.quartz.plugin.jobInitializer.validating = false
org.quartz.plugin.jobInitializer.scanInterval = 10
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
1.排程器屬性(scheduler):分別設定排程器的例項名(instanceName) 和例項 ID (instanceId)。屬性org.quartz.scheduler.instanceName 可以是你喜歡的任何字串。預設名字一般都採用QuartzScheduler,第二個屬性org.quartz.scheduler.instanceId和instaneName 屬性一樣,instanceId 屬性也允許任何字串。這個值必須是在所有排程器例項中是唯一的,尤其是在一個叢集當中。假如你想 Quartz 幫你生成這個值的話,可以設定為AUTO。
2、執行緒池屬性(threadPool):
threadPriority 屬性設定工作者執行緒的優先順序。優先級別高的執行緒比級別低的執行緒更優先得到執行。threadPriority 屬性的最大值是常量java.lang.Thread.MAX_PRIORITY
最後一個要設定的執行緒池屬性是org.quartz.threadPool.class。這個值是一個實現了org.quartz.spi.ThreadPool 介面的類的全限名稱。Quartz 自帶的執行緒池實現類是org.quartz.smpl.SimpleThreadPool,它能夠滿足大多數使用者的需求。這個執行緒池實現具備簡單的行為,並經很好的測試過。它在排程器的生命週期中提供固定大小的執行緒池。你能根據需求建立自己的執行緒池實現,如果你想要一個隨需可伸縮的執行緒池時也許需要這麼做。這個屬性沒有預設值,你必須為其指定值。
3、作業儲存屬性(jobStore):作業儲存部分的設定描述了在排程器例項的生命週期中,Job 和 Trigger 資訊是如何被儲存的。把排程器資訊儲存在記憶體中非常的快也易於配置。當排程器程序一旦被終止,所有的 Job 和 Trigger 的狀態就丟失了。要使 Job 儲存在記憶體中需通過設定 org.quartz.jobStrore.class 屬性為org.quartz.simpl.RAMJobStore,在Cron Trigger 和“作業儲存和持久化”會用到的不同型別的作業儲存實現。
4、其他外掛屬性(plugin):org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin預設時,JobInitializationPlugin外掛會在 classpath 中搜索名為 quartz_jobs.xml 的檔案並從中載入 Job 和 Trigger 資訊。
#自動掃描任務單並發現改動的時間間隔,單位為秒
org.quartz.plugin.jobInitializer.scanInterval = 10
#覆蓋任務排程器中同名的jobDetail,避免只修改了CronExpression所造成的不能重新生效情況
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
#可配置多個xml,用逗號隔開
org.quartz.plugin.jobInitializer.fileNames = my_quartz_jobs.xml,my_quartz_jobs2.xml
第三方包
通過測試。一個簡單任務只需要以下幾個包:commons-beanutils.jar、commons-collections.jar、commons-logging.jar、commons-digester.jar、quartz.jar即可