Spring Batch provides reusable functions that are essential in processing large volumes of records, including logging/tracing, transaction management, job processing statistics, job restart, skip, and resource management. It also provides more advanced technical services and features that will enable extremely high-volume and high performance batch jobs through optimization and partitioning techniques. Simple as well as complex, high-volume batch jobs can leverage the framework in a highly scalable manner to process significant volumes of information.
This project is an implementation of Spring Batch for Data Batch Processing. It covers the following elements:
- Spring Batch architecture
- Concepts of Spring Batch (Job, Step, ItemReader, ItemProcessor, ItemWriter, Flow, JobLauncher, JobRepository)
- Chunk Oriented Processing
- Configure a Job with Steps
- ItemReader with a CSV file
- ItemProcessor
- ItemWriter on an H2 database
- ItemProcessor pipeline using CompositeItemProcessor
- Launch a Job through a Rest API
- Jobs