Quartz Manager Use Cases

May 16, 2026 · View on GitHub

Quartz Manager Use Cases

Companion Spring Boot applications that show how to integrate Quartz Manager in real projects.

Quartz ManagerChoose Your PathUse CasesQuick StartConfigurationOut Of Scope

Quartz Manager is a Spring Boot library and standalone web app that adds REST API and dashboard management to Quartz Scheduler.

This repository contains runnable Spring Boot 4.0.x use cases for the integration paths described in the Quartz Manager README. Use it as a practical reference when deciding which Quartz Manager modules to import and how to wire them into a Spring Boot application.

The examples are intentionally kept as separate applications, so each folder shows one focused setup instead of mixing all options into a single sample.

Choose Your Path

1. Add API And UI To Your Existing App

Use this path when your application already has Spring Boot features such as security, Quartz, persistence, or a custom datasource, and you want to add Quartz Manager on top.

Relevant examples:

ExamplePurpose
existing-security-cookie-basedAdds Quartz Manager API and UI to an application that already has cookie-based Spring Security
existing-security-header-basedAdds Quartz Manager API and UI to an application that already has header/basic-auth style Spring Security
existing-quartzShows Quartz Manager in an application that already imports Spring Boot Quartz
existing-quartz-and-storageCombines existing Quartz, application persistence, and Quartz Manager persistence

Current Quartz Manager behavior is the same as documented in the main README: Quartz Manager creates and manages its own scheduler by default. Existing-scheduler integration currently requires the setup described in Path 1 of the Quartz Manager README.

2. Add A New Scheduler To Your App

Use this path when your Spring Boot application does not have Quartz yet and you want Quartz Manager to bring in a managed scheduler, REST API, and optionally the UI, security, and persistence modules.

Relevant examples:

ExamplePurpose
simply-springBasic Spring Boot app with Quartz Manager API, UI, JWT security, and OpenAPI enabled
simply-spring-no-securityMinimal Spring Boot app with Quartz Manager API and UI without Quartz Manager security
with-persistenceSpring Boot app using Quartz Manager API, UI, and PostgreSQL-backed Quartz persistence

These examples match Path 2 of the Quartz Manager README: import the starters, create jobs extending Quartz Manager's job base class, configure job discovery, then manage jobs and triggers through the REST API or dashboard.

3. Run Quartz Manager As A Standalone App

Standalone mode belongs to the main Quartz Manager repository, not this use-case repository.

Use the quartz-manager-web-showcase application described in Path 3 of the Quartz Manager README when you want Quartz Manager as a ready-to-run scheduler web application.

Use Cases

ModuleQuartz Manager ModulesWhat It Demonstrates
simply-springAPI, UI, SecurityA secured Quartz Manager setup with OpenAPI enabled and in-memory user credentials
simply-spring-no-securityAPI, UIThe smallest unsecured setup for trying the API and dashboard
existing-security-cookie-basedAPI, UICoexistence with an application's own cookie-based Spring Security configuration
existing-security-header-basedAPI, UI, SecurityCoexistence with an application's own header/basic-auth style security and Quartz Manager JWT security
existing-quartzAPI, UIA host application that already has Spring Boot Quartz on the classpath
existing-quartz-and-storageAPI, UI, PersistenceExisting Quartz plus application datasource, Liquibase, and Quartz Manager PostgreSQL persistence
with-persistenceAPI, UI, PersistenceQuartz Manager's managed scheduler backed by PostgreSQL persistence

All managed job examples are placed under the packages configured through quartz-manager.jobClassPackages, so Quartz Manager can discover the eligible job classes.

Quick Start

Build all examples:

./mvnw clean install

Run one use case from its module directory:

cd simply-spring
../mvnw spring-boot:run

On Windows:

mvnw.cmd clean install
cd simply-spring
..\mvnw.cmd spring-boot:run

Open the Quartz Manager dashboard when the UI starter is enabled:

http://localhost:8080/quartz-manager-ui/index.html

Open Swagger UI when OpenAPI is enabled by the selected example:

http://localhost:8080/swagger-ui.html

Default credentials for the examples that configure Quartz Manager in-memory users:

admin / admin

Configuration

The parent project targets Java 21 and Spring Boot 4.0.x. It manages the Quartz Manager dependency version used by these examples:

<quartz-manager.version>5.0.1</quartz-manager.version>

Each module imports only the starters needed by that use case:

StarterPurpose
quartz-manager-starter-apiREST API, scheduler management, job discovery, triggers, calendars, and WebSocket updates
quartz-manager-starter-uiBrowser dashboard served from /quartz-manager-ui/index.html
quartz-manager-starter-securityJWT authentication and in-memory Quartz Manager users
quartz-manager-starter-persistencePostgreSQL-backed Quartz persistence managed by Quartz Manager

Typical job discovery configuration:

quartz-manager.jobClassPackages=it.fabioformosa.labs.simplyspring.jobs

Typical secured configuration:

quartz-manager.security.jwt.secret="bibidibobidiboo"
quartz-manager.security.jwt.expiration-in-sec=28800
quartz-manager.security.accounts.in-memory.enabled=true
quartz-manager.security.accounts.in-memory.users[0].username=admin
quartz-manager.security.accounts.in-memory.users[0].password=admin
quartz-manager.security.accounts.in-memory.users[0].roles[0]=ADMIN

Typical persistence configuration:

quartz-manager.persistence.quartz.datasource.url=jdbc:postgresql://localhost:5432/quartzmanager-persistence-ex
quartz-manager.persistence.quartz.datasource.user=quartzmanagerusecase
quartz-manager.persistence.quartz.datasource.password=quartzmanagerusecase

For Spring Boot 3.5.x compatibility checks, see quartz-manager-compatibility-cases.

For the production-facing library documentation, supported modules, current limitations, and roadmap, see the Quartz Manager README.