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