{ "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 — all step runs", "executionContext": "ExecutionContext — persisted job-level state", "failureExceptions": "List — 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 — 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> — all context entries" } } } } } } } }