Quartz (framework)

from Wikipedia, the free encyclopedia
Quartz

logo
Basic data

Maintainer Terracotta
developer Terracotta
Publishing year 2002
Current  version 2.3.2
(October 23, 2019)
operating system platform independent
programming language Java
category Framework
License Apache license 2.0
www.quartz-scheduler.org

Quartz is an open source framework for controlling jobs in Java . Quartz is used to create simple but also complex schedules for executing any number of jobs in Java and then executing them. Version 1.0 came out on September 13, 2002, and since 2009 Quartz has been further developed under the direction of Terracotta Inc., which is a subsidiary of Software AG .

properties

The schedules defined with Quartz can be CronTriggerbased on calendar entries (for example 0 0 12 ? * WED, "every Wednesday at 12:00" means). Alternatively, schedules can be SimpleTriggerbased on Daterepetitions defined by defined start times and by means of millisecond intervals and repetition numbers (for example "at 12:00 next Wednesday and then 5 times at 10-second intervals"). Using Calender, exceptions can be defined for the schedules (for example "not on weekends and public holidays").

The jobs controlled by schedules can run in a J2EE environment as distributed XA transactions . This ensures that jobs have either run correctly or not at all. Jobs, any Java classes to be, they have only the Job- interface implement. Any JobListeners and TriggerListeners are notified of the execution (and other events) of jobs. Jobs and their triggers can be persisted - i.e. H. Even if the application executing Quartz is stopped or the hardware fails, jobs are restarted when required when Quartz is restarted.

use

According to its homepage, Quartz is used by thousands of institutions (including Vodafone and the United States Department of Defense ) and software products (including products within the Jakarta project , Jira and Confluence , Spring , Liferay Portal and JBoss ). Quartz 1.6.0 has been downloaded more than 100,000 times directly from the Quartz home page.

Comparison with other frameworks

  • Java's own classes Timerand TimerTask: Offer basic scheduling functions, but for example no persistence, inflexible scheduling (only start time and interval), no thread pooling (i.e. resource problems) etc.
  • cron (and Java cron frameworks): Offer one of the scheduling mechanisms also used in Quartz, but not advanced functionality such as job persistence, transactions or job listeners and plug-ins
  • Flux : Commercial software, offers a number of advanced functionalities such as e-mail notifications, file transfer and a graphical workflow designer.

literature

Web links

Individual evidence

  1. Alexander Neumann: Terracotta takes over the Java Task Scheduler Quartz. November 19, 2009, accessed February 5, 2016 .
  2. Flux or Quartz. In: flux.ly. Flux Corporation, November 5, 2003, accessed February 5, 2016 .