Quartz新特性是什麼
在Quartz調度2.2中有哪些新特性
我們想感謝社區貢獻者,他們爲這個版本做了大量的工作,提供想法和補丁。
2.2.0 API變化(包含一些不重要的向後兼容性斷層)
- QTZ-292 - 調度程序接口: 在scheduleJobs方法中,triggers應該作爲Set的一部分,而不應該作爲List的一部分
- QTZ-304 - Scheduler#scheduleJobs API 支持泛型,避免計算消耗
- QTZ-366 - 刪除long-deprecated CloudscapeDelegate
- QTZ-212 - 添加schedulerStarting() 方法到SchedulerListener接口
-
QTZ-225 - 使Scheduler’s ClassLoadHelper在初始化時,可以獲得插件
- 對於使用JDBC JobStore, 有一個模式改變,需要添加一列到fired_triggers表, 你可以添加當前的SQL,例如(根據數據庫的不同,執行的SQL語句會有輕微的調整):
- for oracle: ALTER TABLE QRTZ_FIRED_TRIGGERS ADD COLUMN SCHED_TIME NUMBER(13) NOT NULL;
- for postgresql: ALTER TABLE QRTZ_FIRED_TRIGGERS ADD COLUMN SCHED_TIME BIGINT NOT NULL;
- for MySql: ALTER TABLE QRTZ_FIRED_TRIGGERS ADD COLUMN SCHED_TIME BIGINT(13) NOT NULL;
- etc.
2.2.0新特性
- QTZ-370 - 在開始創建新的UserTransaction時,可以覆蓋默認的事務時間
- QTZ-323 - 能夠覆蓋工作線程名稱(當使用SimpleThreadPool)
- QTZ-79 - 改進開箱即用的SendMailJob
- QTZ-121 - 創建支持EJB3的EJB任務invoker
- QTZ-267 - 添加新的調度方法: scheduleJob(JobDetail job, Set trigger)爲一個調度任務同時添加多個觸發器
- QTZ-272 - 爲ConnectionProvider接口添加initialize()
- QTZ-275 - 允許 ‘triggerless’非持久任務的初始存儲
- QTZ-315 - 改進任務恢復信息
- QTZ-154 - OSGi 支持
2.2.0雜項
-
Quartz類庫現在分發爲兩個jar文件: 一個包含全部的Quartz功能, 另一個是開箱即用的任務(see QTZ-378)
-
Quartz現在需要JDK 1.6 或 更新(QTZ-286)
- 性能提升, 包含:
- 改進JDBC JobStore中的某些select語句
-
對某些內部SPI/接口重構,例如DriverDelegate 和 它的子類,信號量類 etc.
- 多種bug修復,完整列表查看Jira中的發行版本信息: https://jira.terracotta.org/jira/secure/ReleaseNote.jspa?projectId=10282&version=11041