Skip to content
Dynanic Job Scheduling with Quartz and Spring
Java Dockerfile
Branch: master
Clone or download
Latest commit 1e22732 Oct 20, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.mvn/wrapper Initialised repository Sep 17, 2017
src Docker support enabled Oct 20, 2018
.gitignore Updated README.md Oct 1, 2017
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Apr 11, 2018
CONTRIBUTING.md Create CONTRIBUTING.md Apr 11, 2018
Dockerfile Docker support enabled Oct 20, 2018
LICENSE Initial commit Sep 17, 2017
README.md Docker support enabled Oct 20, 2018
mvnw Initialised repository Sep 17, 2017
mvnw.cmd Initialised repository Sep 17, 2017
pom.xml Docker support enabled Oct 20, 2018

README.md

Quartz Manager

Dynanic Job Scheduling with Quartz and Spring. To understand what is happening in this project read the blog post at:

http://juliuskrah.com/tutorial/2017/09/26/dynamic-job-scheduling-with-quartz-and-spring/

for a comprehensive overview.

Branches

Branch Notes
master Implementation without database
v1.x Implementation with database
v2.x Implementation with error handling
v3.x Implementation with Spring WebFlux
v4.x Implementation with Functional Spring WebFlux

Spring WebFlux

Checkout this branch for a reactive version of the source

Quick Start

After executing the following command, the application will start on localhost:8080

  • Using maven
> mvnw clean spring-boot:run
  • Using docker:
> docker run -p 8080:8080 juliuskrah/quartz-manager

Features

CREATE
Method : POST: /api/v1.0/groups/:group/jobs
Status : 201: Created
Body :

{
  "name": "manager",
  "subject": "Daily Fuel Report",
  "messageBody": "Sample fuel report",
  "to": ["juliuskrah@example.com", "juliuskrah@example.net"],
  "triggers":
    [
       {
         "name": "manager",
         "group": "email",
         "fireTime": "2017-10-02T22:00:00.000"
       }
    ]
}

Content-Type: application/json

VIEW
Method : GET: /api/v1.0/groups/:group/jobs/:name
Status : 200: Ok
Body : NULL
Accept : application/json

UPDATE
Method : PUT: /api/v1.0/groups/:group/jobs/:name
Status : 204: No Content
Body :

{
  "name": "manager",
  "subject": "Daily Fuel Report",
  "messageBody": "Sample fuel report",
  "to" : ["juliuskrah@example.com", "juliuskrah@example.net"],
  "cc" : ["management@example.com", "management@example.net"],
  "bcc": ["bcc@example.com"]
}

Content-Type: application/json

UPDATE (Pause)
Method : PATCH: /api/v1.0/groups/:group/jobs/:name/pause
Status : 204: No Content
Body : NULL
Content-Type: */*

UPDATE (Resume)
Method : PATCH: /api/v1.0/groups/:group/jobs/:name/resume
Status : 204: No Content
Body : NULL
Content-Type: */*

DELETE
Method : DELETE: /api/v1.0/groups/:group/jobs/:name
Status : 204: No Content
Body : NULL
Content-Type: */*

You can’t perform that action at this time.