Quartz作業存儲方式
Quartz提供兩種基本作業存儲類型。第一種類型叫做RAMJobStore,第二種類型叫做JDBC作業存儲。
一、對比
類型 |
優點 |
缺點 |
RAMJobStore |
不要外部數據庫,配置容易,運行速度快 |
因為調度程序信息是存儲在被分配給JVM的內存里面,所以,當應用程序停止運行時,所有調度信息將被丟失。另外因為存儲到JVM內存里面,所以可以存儲多少個Job和Trigger將會受到限制 |
JDBC作業存儲 |
支持集群,因為所有的任務信息都會保存到數據庫中,可以控制事物,還有就是如果應用服務器關閉或者重啟,任務信息都不會丟失,并且可以恢復因服務器關閉或者重啟而導致執行失敗的任務 |
運行速度的快慢取決與連接數據庫的快慢 |
二、配置
1、以下是配置是內存存儲
#============================================================================
# Configure RAMJobStore
#============================================================================
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
2、以下配置是數據庫存儲
#============================================================================
# Configure JobStore
#============================================================================
#===========================
#Configure JDBC-JobStoreTX
#===========================
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.dataSource = myDS
org.quartz.jobStore.useProperties = false
#============================
# Configure DataSource
#============================
org.quartz.dataSource.myDS.driver = oracle.jdbc.OracleDriver
org.quartz.dataSource.myDS.URL = jdbc:oracle:thin:@localhost:1521:test
org.quartz.dataSource.myDS.user = user
org.quartz.dataSource.myDS.password = password
org.quartz.dataSource.myDS.maxConnections = 10