spring-projects / spring-projects/spring-batch

Feature Request: Built-in Dashboard for Spring Batch

Open
#5,378 0 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: waiting-for-triage type: feature
Dominant language
Java
Stars
3k
Forks
2.5k
Avg merge
6d 53m
Merged PRs (30d)
3

Description

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:

  1. Job Overview — All jobs with latest status, execution counts, and average duration.
  2. Execution Details — Drill-down into JobExecution with step-level read/write/skip counts and exception stack traces.
  3. Real-time Monitoring — Live progress for running jobs (items processed, throughput, ETA).
  4. History & Search — Filterable JobInstance/JobExecution history (by name, status, date range, parameters).
  5. Manual Operations — Restart, stop, and abandon executions directly from the UI.
  6. 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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing JobRepository and JobExplorer APIs and the proposed spring-boot-starter-batch-dashboard boundary. Define the dashboard scope, UI and operational integration points, then establish how all six requested capabilities would be validated before implementation begins.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring
Domain
backend, frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.