Release Notes - Quartz Scheduler (Historical - Do Not File New Issues Here - See GitHub) - Version 2.0 - HTML format


  • [QTZ-76] - Document: Batch-acquiring of triggers
  • [QTZ-77] - Document existence new SybaseDelegate
  • [QTZ-78] - Document General API Changes
  • [QTZ-90] - Document new Job class annotation ExecuteInJTATransaction
  • [QTZ-92] - Document New Cron Expression feature: last day offset for Day Of Month field.
  • [QTZ-94] - Document Add checkExists() methods to Scheduler interface to test for existing Job/Trigger of given identifier.
  • [QTZ-98] - Document changes to JobListener and TriggerListener


  • [QTZ-72] - TerratottaJobStore - Implement batch-acquiring of triggers


  • [QTZ-59] - Jobs that start just around scheduler shutdown time can get stuck in retry loop
  • [QTZ-60] - Quartz threads getting blocked with the error "Failed restore connection's original auto commit setting"
  • [QTZ-61] - Introduce SybaseDelegate to resolve Issue retrieve trigger without a JobDataMap from Sybase
  • [QTZ-62] - Deadlocks Occurring in WAS 6.1 Cluster with JDBC JobStores
  • [QTZ-63] - time jump of 99 minutes with every minute job on hour jump
  • [QTZ-64] - CronExpression.getNextInvalidTimeAfter(Date) throws NullPointerException for triggers with no future fire time.
  • [QTZ-67] - quartz Scheduler does not take part in Spring managed transaction
  • [QTZ-68] - NativeJob: Too many open files
  • [QTZ-81] - Non-durable jobs that are unscheduled are not jmx notifying on delete
  • [QTZ-87] - JMS jobs do not use MergedJobDataMap, neither JMS_USE_TXN
  • [QTZ-96] - Cron is try to schedule invalid cron expression "0/5 * * 32W 1 ?"
  • [QTZ-99] - CronExpression does not work in the Thai (th_TH) locale.
  • [QTZ-100] - JobStore.clearAllSchedulingData not notifying listeners
  • [QTZ-106] - QuartzSchedulerMBean refers to Quartz type SchedulerException
  • [QTZ-107] - QuartzSchedulerMBean doesn't notify about trigger misfires
  • [QTZ-109] - ExecutingJobsManager.numJobsFired isn't properly guarded
  • [QTZ-110] - Ehcache integration to "Where" only supports String keys
  • [QTZ-111] - AbstractTrigger does not fufill the recommended contract between equals and compareTo in the Comparacble interface.
  • [QTZ-115] - Oracle driver not working properly with BLOBs
  • [QTZ-116] - Scheduler.scheduleJobs should either associated triggers with job or warn if trigger not already bound to job
  • [QTZ-118] - UpdateChecker *always* creates background even if "skip" system property is set.
  • [QTZ-120] - ClusterManager: Error managing cluster: Failure updating scheduler state when checking-in
  • [QTZ-122] - Quartz default scheduler shutdown leaks threads
  • [QTZ-125] - DirectSchedulerFactory doesn't allow JMX
  • [QTZ-127] - NPE in QuartzSchedulerThread
  • [QTZ-128] - Using tim-quartz-ee, special MBean name not being used resulting in DevConsole panel not appearing
  • [QTZ-130] - tables_sqlServer.sql script broken
  • [QTZ-131] - MBean notification deficiencies
  • [QTZ-132] - Quartz-terracotta DefaultClusteredJobStore.pauseTriggers always returns empty collection
  • [QTZ-133] - Infinite loop in ClassUtils.isAnnotationPresentOnSuperClasses
  • [QTZ-135] - Scheduler server's RMI binding name in registry is removed unexpectly
  • [QTZ-138] - QuartzSchedulerMBeanImpl.getCurrentlyExecutingJobs fails
  • [QTZ-139] - example2 fails in quartz 2.0.0 kit
  • [QTZ-140] - quartz-2.0.0-RC2 kit example10 failed with '' could not be found
  • [QTZ-141] - TriggerListenerSupport has wrong method signature for triggerComplete(..) method
  • [QTZ-142] - DateBuilder is missing documented methods

New Feature

  • [QTZ-70] - Add ability to have scheduler to wait on jobs to complete when servlet container shutdown
  • [QTZ-71] - Implement batch-acquiring of triggers
  • [QTZ-82] - When trying to add a job via JMX you can currently only setup simple triggers or run immediatly. Would like access to cron or 3rd party triggers
  • [QTZ-83] - Add a JMX interface to store a non-durable job
  • [QTZ-89] - Add new Job class annotation ExecuteInJTATransaction
  • [QTZ-91] - New Cron Expression feature: last day offset for Day Of Month field.
  • [QTZ-93] - Add checkExists() methods to Scheduler interface to test for existing Job/Trigger of given identifier.
  • [QTZ-103] - Support Multiple Schedulers With One Set Of Database Tables WIth JDBC JobStore
  • [QTZ-104] - XML schema to support 'priority' field for triggers.
  • [QTZ-108] - Add DirectoryScanJob to core jobs that ship with Quartz
  • [QTZ-117] - Introduce (Group)Matchers on the Scheduler 2.0 API


  • [QTZ-30] - Update JDBC-JobStore's Semaphore interface to allow initialization with scheduler config settings
  • [QTZ-65] - Separate Quartz's own listeners from end-user's listeners
  • [QTZ-74] - Use typed collections on API, rather than arrays
  • [QTZ-75] - Document all Quartz 2.0 Changes
  • [QTZ-95] - Job and Trigger "volatility" feature removed
  • [QTZ-97] - Updated notion of JobListener and TriggerListener.
  • [QTZ-105] - Create docs and sample code to show users how to migrate from Database JobStore to Terracotta JobStore
  • [QTZ-114] - JobFactory needs to receive handle to scheduler
  • [QTZ-119] - Utilize C3PO for connection pooling, rather than DBCP.


  • [QTZ-123] - Listing mistake on tutorial lesson 4.

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.