Quartz 1.5.2 Release Notes

This release contains fixes to issues discovered in the 1.5.1 release, as well as a few new features. Many thanks in this release go to Jasper Josenberg and Aaron Craven.

If you haven't already moved to 1.5.0, be sure to read the Quartz 1.5.0 release notes, as there were many significant changes in that release.

See the changelog below for complete details of this release.

Most Significant of New Features

  • CronCalendar. New Calendar type, excludes dates based on cron expression.
  • DailyCalendar. New Calendar type, excludes every X day.

Key Changes

  • Improvements to efficiency of clustering.

Core API changes

Migration Notes

Necessary Code Changes

Version Description Old Code New Code
1.4.x no changes necessary    
1.5.0 no changes necessary    

Necessary Database Changes (if using JDBC-JobStore)

Version Description update command(s)
1.4.x Add Blob column for JobDataMap to QRTZ_TRIGGERS table. This example update SQL is for Oracle. Make sure you use the appropriate data type for your database, which can be found in the tables_xxx.sql file for your db. You should leave the value of this new column NULL for existing rows. alter table QRTZ_TRIGGERS add JOB_DATA BLOB
1.5.0 no changes necessary    

Changelog

OpenSymphony JIRA (31 issues)
T Key Summary
New Feature QUARTZ-117 Remove CronExpression logic from CronTrigger
Task QUARTZ-277 Correct typo in NthIncludedDayTrigger javadoc
Task QUARTZ-279 A couple of Java 5 warnings
Bug QUARTZ-280 Scheduler added to failed instance list every time
Bug QUARTZ-281 DriverDelegate.updateSchedulerState() should also update RECOVERER
Improvement QUARTZ-282 Only lock STATE_ACCESS if there are failed instances to recover
Bug QUARTZ-286 java.lang.StackOverflowError when calling to JobDataMap#getXXXValue (getLongValue, getIntValue, ...)
Bug QUARTZ-287 PostgreSQL database scripts
Improvement QUARTZ-290 Throw ParseException for day-of-week sequence errors in CronTrigger.java
Bug QUARTZ-294 StdJDBCDelegate.selectTriggersForJob() could return an array with null element.
Bug QUARTZ-298 TriggerUtils.computeFireTimesBetween() should set start time on trigger
Bug QUARTZ-299 Reentrant stateful jobs in 1.5.1 unlike in 1.5.0
Bug QUARTZ-303 JBoss: JDNI always returns the same Scheduler when creating multiple QuartzService mbeans
Improvement QUARTZ-304 Clarify Scheduler.rescheduleJob() javadoc
Bug QUARTZ-307 clarify docs - misfire instructions apply after standby-start cycle
Bug QUARTZ-308 Small correction to the cron regular expression.
New Feature QUARTZ-311 DailyCalendar donation by Mike Funk
Bug QUARTZ-312 Catch Throwable in JobRunShell
New Feature QUARTZ-314 CronExpression and CronCalendar
Bug QUARTZ-315 EJB_ARG_TYPES_KEY value in JobDataMap must be Class[] in EJBInvokerJob
Bug QUARTZ-316 Be more defensive in closing db connections
Bug QUARTZ-317 CronTrigger.willFireOn() methods modify provided Calendar
Bug QUARTZ-319 Schema documentation incorrect
Bug QUARTZ-324 build.xml looking for osbuild.xml in wrong location
Bug QUARTZ-331 Issues with cluster management refactoring
Task QUARTZ-334 Add serialVersionUID to CronCalendar
Improvement QUARTZ-344 Conditionally build quartz-weblogic.jar based on Weblogic class that is actually used
Bug QUARTZ-348 Fix javadoc location for j2ee 1.3
Task QUARTZ-349 Create a quartz-all.jar that includes all other jars.
Bug QUARTZ-350 Rename or move quartz-service.xml (in jboss subproject) so doesn't get loaded automatically by JBoss
Task QUARTZ-351 Include jboss/oracle/weblogic subproject source in javadoc