# Default Properties file for use by StdSchedulerFactory # to create a Quartz Scheduler Instance, if a different # properties file is not explicitly specified. # #集羣配置 org.quartz.scheduler.instanceName: DefaultQuartzScheduler org.quartz.scheduler.rmi.export: false org.quartz.scheduler.rmi.proxy: false org.quartz.scheduler.wrapJobExecutionInUserTransaction: false org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool org.quartz.threadPool.threadCount: 10 org.quartz.threadPool.threadPriority: 5 org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread: true org.quartz.jobStore.misfireThreshold: 60000 #============================================================================ # Configure JobStore #============================================================================ #默認配置,數據保存到內存 #org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore #持久化配置 org.quartz.jobStore.class:org.quartz.impl.jdbcjobstore.JobStoreTX org.quartz.jobStore.driverDelegateClass:org.quartz.impl.jdbcjobstore.StdJDBCDelegate org.quartz.jobStore.useProperties:true #數據庫表前綴 org.quartz.jobStore.tablePrefix:qrtz_ org.quartz.jobStore.dataSource:qzDS #============================================================================ # Configure Datasources #============================================================================ #JDBC驅動 org.quartz.dataSource.qzDS.driver:com.mysql.jdbc.Driver org.quartz.dataSource.qzDS.URL:jdbc:mysql://localhost:3306/quartzdb org.quartz.dataSource.qzDS.user:root org.quartz.dataSource.qzDS.password:123456 org.quartz.dataSource.qzDS.maxConnection:10
一、持久化須事先在相應數據庫建立Quartz的數據表,在Quartz發佈包裏面的docs/dbTables有對應不一樣數據庫的SQL腳本mysql
例如,這裏使用的是MYSQL:sql
二、數據表字段解釋【非原創】:數據庫
表qrtz_job_details: 保存job詳細信息,該表須要用戶根據實際狀況初始化express
job_name:集羣中job的名字,該名字用戶本身能夠隨意定製,無強行要求less
job_group:集羣中job的所屬組的名字,該名字用戶本身隨意定製,無強行要求spa
job_class_name:實現類的徹底包名,quartz就是根據這個路徑到classpath找到該job類code
is_durable:是否持久化,把該屬性設置爲1,quartz會把job持久化到數據庫中xml
job_data:一個blob字段,存放持久化job對象對象
表qrtz_triggers: 保存trigger信息內存
trigger_name: trigger的名字,該名字用戶本身能夠隨意定製,無強行要求
trigger_group:trigger所屬組的名字,該名字用戶本身隨意定製,無強行要求
job_name: qrtz_job_details表job_name的外鍵
job_group: qrtz_job_details表job_group的外鍵
trigger_state:當前trigger狀態,設置爲ACQUIRED,若是設置爲WAITING,則job不會觸發
trigger_cron:觸發器類型,使用cron表達式
表qrtz_cron_triggers:存儲cron表達式表
trigger_name: qrtz_triggers表trigger_name的外鍵
trigger_group: qrtz_triggers表trigger_group的外鍵
cron_expression:cron表達式
表qrtz_scheduler_state:存儲集羣中note實例信息,quartz會定時讀取該表的信息判斷集羣中每一個實例的當前狀態
instance_name:以前配置文件中org.quartz.scheduler.instanceId配置的名字,就會寫入該字段,若是設置爲AUTO,quartz會根據物理機名和當前時間產生一個名字
last_checkin_time:上次檢查時間
checkin_interval:檢查間隔時間
三、More:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-09