Spring Batch · JSON Structure

Spring Batch Job Execution Structure

Hierarchical structure of the Spring Batch 5.1 domain model centered on job executions. Shows the relationship between jobs, instances, executions, steps, and execution context.

Type: Properties: 0
Batch ProcessingData ProcessingEnterpriseETLJavaJob SchedulingSpring Framework

Spring Batch Job Execution Structure is a JSON Structure definition published by Spring Batch.

Meta-schema:

JSON Structure

Raw ↑
{
  "title": "Spring Batch 5.1 Job Execution Structure",
  "description": "Hierarchical structure of the Spring Batch 5.1 domain model centered on job executions. Shows the relationship between jobs, instances, executions, steps, and execution context.",
  "structure": {
    "JobExecution": {
      "description": "Root domain object representing a single run of a batch job.",
      "fields": {
        "id": "Long — unique execution identifier",
        "jobInstance": "JobInstance — the associated job instance",
        "jobParameters": "JobParameters — typed parameters for this execution",
        "status": "BatchStatus enum — COMPLETED, FAILED, STARTED, etc.",
        "exitStatus": "ExitStatus — exit code and description",
        "startTime": "LocalDateTime — execution start timestamp",
        "endTime": "LocalDateTime — execution end timestamp (null if running)",
        "createTime": "LocalDateTime — record creation timestamp",
        "lastUpdated": "LocalDateTime — last modification timestamp",
        "stepExecutions": "Collection<StepExecution> — all step runs",
        "executionContext": "ExecutionContext — persisted job-level state",
        "failureExceptions": "List<Throwable> — exceptions that caused failure",
        "version": "Integer — optimistic locking version"
      },
      "children": {
        "JobInstance": {
          "description": "Uniquely identifies a job by name and parameters.",
          "fields": {
            "id": "Long — unique instance identifier",
            "jobName": "String — Spring Batch job name",
            "instanceId": "Long — synonym for id"
          }
        },
        "StepExecution": {
          "description": "Represents the execution of a single step within the job.",
          "fields": {
            "id": "Long — unique step execution identifier",
            "stepName": "String — step name",
            "status": "BatchStatus enum",
            "exitStatus": "ExitStatus — exit code and description",
            "readCount": "int — items successfully read",
            "writeCount": "int — items successfully written",
            "commitCount": "int — number of chunk commits",
            "rollbackCount": "int — number of chunk rollbacks",
            "readSkipCount": "int — items skipped during read",
            "processSkipCount": "int — items skipped during process",
            "writeSkipCount": "int — items skipped during write",
            "filterCount": "int — items filtered by processor",
            "startTime": "LocalDateTime — step start time",
            "endTime": "LocalDateTime — step end time",
            "executionContext": "ExecutionContext — persisted step-level state",
            "skippedItems": "List<Throwable> — exceptions for skipped items",
            "version": "Integer — optimistic locking version"
          },
          "children": {
            "ExecutionContext": {
              "description": "Key-value store persisted to the job repository for restart support.",
              "fields": {
                "dirty": "boolean — whether context has unsaved changes",
                "entrySet": "Set<Map.Entry<String, Object>> — all context entries"
              }
            }
          }
        }
      }
    }
  }
}