Polish "Add Quartz actuator endpoint"

This commit reworks the initial proposal so that jobs and triggers are
treated as first class concepts.

`/actuator/quartz` now returns the group names for jobs and triggers.

`actuator/quartz/jobs` returns the job names, keyed by the available
group names, while `/actuator/quartz/triggers` does the same for
triggers.

`/actuator/jobs/{groupName}` provides an overview of a job group. It
provides a map of job names with the class name of the job.
implementation

`/actuator/triggers/{groupName}` provides an overview of a trigger
group. There are five supported trigger implementations: cron, simple,
daily time interval, calendar interval, and custom for any other
implementation. Given that each implementation has specific settings,
triggers are split in five objects.

`/actuator/jobs/{groupName}/{jobName}` provides the full details of a
particular job. This includes a sanitized data map and a list of
triggers ordered by next fire time.

`/actuator/triggers/{groupName}/{triggerName}` provides the full details
of a particular trigger. This includes the state, its type, and a
dedicate object containing implementation-specific settings.

See gh-10364
This commit is contained in:
Stephane Nicoll
2021-03-29 09:33:46 +02:00
parent 9795061360
commit b11602aeaa
17 changed files with 2504 additions and 247 deletions

View File

@@ -112,6 +112,9 @@ The following technology-agnostic endpoints are available:
| `mappings`
| Displays a collated list of all `@RequestMapping` paths.
|`quartz`
|Shows information about Quartz Scheduler jobs.
| `scheduledtasks`
| Displays the scheduled tasks in your application.
@@ -272,6 +275,10 @@ The following table shows the default exposure for the built-in endpoints:
| N/A
| No
| `quartz`
| Yes
| No
| `scheduledtasks`
| Yes
| No