A batch job is a task executed outside the normal web application workflow (receiving an HTTP request and sending back an HTTP response). It can be executed by the web server as a separate process. It can also be launched directly from the command line.
Typically, a batch job either:
Spring Batch provides a structure to define, run, and monitor batch jobs. A Job is defined as a sequence of steps:
A Job Instance is the combination of a job and some parameters. For example, the day's date and the name of the file to process. A Job Execution is created for a job instance. If the job execution fails, another job execution can be created for the same job instance.