Expected Behavior
Spring Batch should provide a built-in, lightweight web dashboard (similar to JobRunr's dashboard), enabled with a single property:
spring.batch.dashboard.enabled=true
Key capabilities:
- Job Overview — All jobs with latest status, execution counts, and average duration.
- Execution Details — Drill-down into
JobExecution with step-level read/write/skip counts and exception stack traces.
- Real-time Monitoring — Live progress for running jobs (items processed, throughput, ETA).
- History & Search — Filterable
JobInstance/JobExecution history (by name, status, date range, parameters).
- Manual Operations — Restart, stop, and abandon executions directly from the UI.
- Partitioned Step Visibility — Partition-level progress to identify stragglers.
Built on existing JobRepository/JobExplorer APIs, zero additional infrastructure, shipped as an optional spring-boot-starter-batch-dashboard.
JobRunr's dashboard:


Current Behavior
Spring Batch has no built-in UI. Current workarounds are all unsatisfactory:
- Direct SQL against
BATCH_JOB_EXECUTION tables — cumbersome and not operator-friendly.
- Spring Cloud Data Flow — heavyweight platform, overkill for embedded batch monitoring.
- Custom REST + UI on
JobExplorer/JobOperator — duplicated effort across the community.
- Spring Batch Admin — deprecated since 2017, no replacement.
- Actuator/Micrometer — aggregated counters only, no execution-level detail or operational actions.
The JobRepository already persists all data needed for a dashboard, but there is no standard way to visualize it.
Context
Every Spring Batch team in production needs operational visibility into job status. Without a built-in dashboard, teams are forced to either build custom UIs, adopt the heavyweight SCDF, or query metadata tables via SQL. This is duplicated effort across the entire community.
| Alternative |
Limitation |
| JobRunr |
Different framework, not compatible with Spring Batch's chunk-oriented model |
| Spring Cloud Data Flow |
SCDF is no longer maintained as an open-source project |
Custom JobExplorer REST + UI |
Every team builds the same thing |
| Grafana + Micrometer |
No execution-level detail or restart/stop actions |
| Spring Batch Admin |
Abandoned since 2017 |
JobRunr proves this is achievable — frontend bundled in JAR, enabled with one property (jobrunr.dashboard.enabled=true). Spring Batch could adopt the same approach with an optional starter module.
Expected Behavior
Spring Batch should provide a built-in, lightweight web dashboard (similar to JobRunr's dashboard), enabled with a single property:
spring.batch.dashboard.enabled=trueKey capabilities:
JobExecutionwith step-level read/write/skip counts and exception stack traces.JobInstance/JobExecutionhistory (by name, status, date range, parameters).Built on existing
JobRepository/JobExplorerAPIs, zero additional infrastructure, shipped as an optionalspring-boot-starter-batch-dashboard.JobRunr's dashboard:
Current Behavior
Spring Batch has no built-in UI. Current workarounds are all unsatisfactory:
BATCH_JOB_EXECUTIONtables — cumbersome and not operator-friendly.JobExplorer/JobOperator— duplicated effort across the community.The
JobRepositoryalready persists all data needed for a dashboard, but there is no standard way to visualize it.Context
Every Spring Batch team in production needs operational visibility into job status. Without a built-in dashboard, teams are forced to either build custom UIs, adopt the heavyweight SCDF, or query metadata tables via SQL. This is duplicated effort across the entire community.
JobExplorerREST + UIJobRunr proves this is achievable — frontend bundled in JAR, enabled with one property (
jobrunr.dashboard.enabled=true). Spring Batch could adopt the same approach with an optional starter module.