Skip to content
SPECIFICTION
Get listed

Quartz Scheduler

quartz-scheduler.org

Free plan Open source APISelf-hosted

What it is

Quartz Scheduler is a free, open-source Java library for running application tasks at scheduled times or on recurring plans. Triggers can use times, days, calendar exclusions, repeat counts, end dates or intervals. Quartz says it can handle workloads from tens to tens of thousands of jobs, with JTA transaction and clustering support. It can run inside an application, an application server or servlet container, as a standalone RMI program, or as a cluster of standalone programs. JDBCJobStore persists jobs and triggers in a relational database, while RAMJobStore keeps them in memory and loses them between executions. Data sources can come from JDBC, application-server JNDI or custom ConnectionProvider implementations. Built-in clustering depends on JDBCJobStore persistence. Downloads list version 2.5.1 for Java 11+ with the jakarta namespace and 2.4.1 for Java 8 with javax.*. Quartz describes itself as a scheduler rather than a job queue, although it can serve as one at small scale. It is licensed under Apache License 2.0.

Spec sheet

What it does
Quartz schedules Java jobs ranging from simple tasks to schedules containing tens of thousands of jobs.Read 15 Oct 2026 · quartz-scheduler.org
Purpose
Quartz is an open source job scheduling library that can be integrated into Java applications to run simple or complex schedules.Read 7 Oct 2026 · quartz-scheduler.org
Intended users
Quartz is a code library for applications that need to schedule application-related tasks for future or recurring execution.Read 7 Oct 2026 · quartz-scheduler.org
Integrations
Quartz can use JDBC data sources, application-server-managed JNDI data sources, or custom ConnectionProvider implementations.Read 7 Oct 2026 · quartz-scheduler.org
Support
The community page directs users with questions to the Quartz Users' Forum and provides an issue tracker for reporting issues and requesting features.Read 7 Oct 2026 · quartz-scheduler.org
Clustering behavior
JDBC clustering provides load balancing and fail-over, with one cluster node firing each occurrence.Read 15 Oct 2026 · quartz-scheduler.org
Clustering requirement
Quartz warns that clustered machines need clocks synchronized to within about one second.Read 15 Oct 2026 · quartz-scheduler.org
Community support
The project directs users to GitHub forums, issue tracking and its source repository for help and feature requests.Read 15 Oct 2026 · quartz-scheduler.org
Compatibility release
Quartz 2.4.1 supports Java 8 and the javax namespace.Read 15 Oct 2026 · quartz-scheduler.org
Configuration
Quartz normally reads a quartz.properties file through StdSchedulerFactory, with configurable scheduler, thread-pool, listener, plug-in, RMI, job-store, data-source and clustering settings.Read 15 Oct 2026 · quartz-scheduler.org
Contribution process
Contributors use a DCO commit-signoff process, and core developer status is invite-only.Read 15 Oct 2026 · quartz-scheduler.org
Distribution
Official downloads link to GitHub releases and Maven Central artifacts for quartz and quartz-jobs.Read 15 Oct 2026 · quartz-scheduler.org
Documentation depth
The documentation site provides JavaDoc, quick start material, configuration reference, cookbook, tutorials, examples, best practices and FAQ pages.Read 15 Oct 2026 · quartz-scheduler.org
Downloads
The downloads page lists Quartz 2.5.1 for Java 11+ with the jakarta namespace and Quartz 2.4.1 for Java 8 with the javax.* namespace.Read 7 Oct 2026 · quartz-scheduler.org
Enterprise features
The scheduler includes clustering and support for JTA transactions.Read 15 Oct 2026 · quartz-scheduler.org
Extensibility
Quartz exposes builder DSL classes, listeners, plug-ins, custom JobStore implementations and configurable SPI classes.Read 15 Oct 2026 · quartz-scheduler.org
GitHub popularity
The official repository showed about 6.8 thousand stars and 2 thousand forks when accessed.Read 15 Oct 2026 · github.com
Independent community concern
A Reddit engineering discussion notes that one shared Quartz scheduler can degrade as short-running jobs and clients increase because of cluster-wide locking.Read 15 Oct 2026 · reddit.com
Independent limits
Gitnux says Java integration can be heavy and that threading and misfire behavior require careful tuning.Read 15 Oct 2026 · gitnux.org
Independent praise
Gitnux highlights cron and calendar triggers, persistent storage, clustering and separation of jobs from triggers.Read 15 Oct 2026 · gitnux.org
Independent project description
Wikipedia describes Quartz as a Java job-scheduling library used for enterprise workflows, system-management tasks and clustering.Read 15 Oct 2026 · en.wikipedia.org
Independent score
Gitnux rated Quartz Scheduler 6.4 out of 10 overall, with 6.5 for features, 6.4 for ease of use and 6.2 for value.Read 15 Oct 2026 · gitnux.org
Independent score: job scheduling
WorldMetrics rated Quartz Scheduler 7.4 out of 10 overall, with 7.5 for features, 7.5 for ease of use and 7.2 for value.Read 15 Oct 2026 · worldmetrics.org
Java integration
Quartz is designed to embed in Java applications, including standalone programs and large e-commerce systems.Read 15 Oct 2026 · quartz-scheduler.org
Job scale
The site says Quartz can schedule tens, hundreds, or tens of thousands of jobs.Read 7 Oct 2026 · quartz-scheduler.org
Job storage
Quartz provides JDBCJobStore for storing jobs and triggers in a relational database and RAMJobStore for in-memory storage that does not persist between program executions.Read 7 Oct 2026 · quartz-scheduler.org
Latest release requirements
Quartz 2.5.1 requires Java 11 or newer and uses the jakarta namespace.Read 15 Oct 2026 · quartz-scheduler.org
Limit: custom orchestration
WorldMetrics says dependency graphs, retries, backoff and escalation require custom orchestration or listeners.Read 15 Oct 2026 · worldmetrics.org
Limit: learning curve
G2 reviewers repeatedly say Quartz is difficult to understand at first.Read 15 Oct 2026 · g2.com
Limit: no native console
WorldMetrics says Quartz does not ship a native operator console for schedule, history and audit browsing.Read 15 Oct 2026 · worldmetrics.org
Limit: overkill for simple work
A G2 reviewer says Quartz can be excessive for lightweight tasks that do not need complex schedules or persistent storage.Read 15 Oct 2026 · g2.com
Notable limit
Quartz describes itself as not being a job queue, though it says it can serve as one at a small scale.Read 7 Oct 2026 · quartz-scheduler.org
Open-source licence
Quartz is distributed under the Apache License 2.0.Read 15 Oct 2026 · quartz-scheduler.org
Persistence
JDBC-JobStoreTX and JDBC-JobStoreCMT persist jobs and triggers in a relational database.Read 15 Oct 2026 · quartz-scheduler.org
Praise: reliability and flexibility
G2 reviewers repeatedly praise reliable execution, flexibility, independent jobs and complex scheduling capability.Read 15 Oct 2026 · g2.com
Project health observation
Linux Foundation Insights reports an average pull-request merge lead time of 23 days and says 61% of contributions occur outside regular working hours.Read 15 Oct 2026 · insights.linuxfoundation.org
Project owner
The Quartz contribution repository states that IBM owns the Quartz Scheduler project.Read 15 Oct 2026 · github.com
Public API
The documented API centers on Scheduler, Job, JobDetail, Trigger, JobBuilder and TriggerBuilder interfaces or classes.Read 15 Oct 2026 · quartz-scheduler.org
Quarkus integration
Quarkus provides a Quartz extension for clustered tasks installable with Quarkus CLI, Maven or Gradle.Read 15 Oct 2026 · quarkus.io
Quarkus runtime requirement
The Quarkus Quartz extension page lists Java 21 as its minimum Java version.Read 15 Oct 2026 · quarkus.io
Rating on G2
4.0 out of 5 from 20 reviews.Read 15 Oct 2026 · g2.com
Runtime options
Quartz can run embedded in an application, in an application server or servlet container, as a standalone program using RMI, or as a cluster of standalone programs.Read 7 Oct 2026 · quartz-scheduler.org
Scheduling
Triggers can schedule jobs by time, day, calendar exclusions, repeat count, end date, or interval.Read 7 Oct 2026 · quartz-scheduler.org
Scheduling expressions
SimpleTrigger supports one-time and repeating executions, while CronTrigger handles calendar-style schedules.Read 15 Oct 2026 · quartz-scheduler.org
Security and license
Quartz is licensed under Apache License 2.0, and the license page says the software is distributed without warranties unless otherwise agreed in writing.Read 7 Oct 2026 · quartz-scheduler.org
Security-related change
Quartz 2.4.0 removed NativeJob from quartz-jobs because of code-execution security concerns.Read 15 Oct 2026 · github.com
Transactions and clustering
Quartz includes support for JTA transactions and clustering.Read 7 Oct 2026 · quartz-scheduler.org

Plans and prices

Free open-source Quartz Scheduler Free Java job scheduling library · Apache 2.0 licensed · downloadable from GitHub and Maven Central Read 15 Oct 2026 · quartz-scheduler.org
Quartz Scheduler Free Open source · Apache License 2.0 Read 7 Oct 2026 · quartz-scheduler.org

Every Quartz Scheduler plan and price →

Strong points and limits

Strong points

  • Supports recurring and calendar-based schedules
  • Handles tens to tens of thousands of jobs
  • Offers JDBC and in-memory job stores
  • Includes clustering and JTA transaction support
  • Apache License 2.0

Limits

  • It is not intended as a full job queue
  • RAMJobStore does not persist between executions
  • Built-in clustering requires database persistence
  • Java versions map to different namespace releases

Who it suits

Quartz suits Java applications that need future or recurring execution of application-related tasks. It is intended for self-hosted deployments requiring configurable persistence or clustering.

Verdict

Quartz provides broad scheduling controls and deployment choices for Java applications. Teams should account for its job-queue limitation and the persistence requirement for clustering.

Where Specifiction places it

Alternatives to Quartz SchedulerAll alternatives →