
Configure the project with spring batch dependencies, including the spring boot starter batch that pulls in core and infrastructure libraries, plus the test library; verify the build.
Configures Spring Batch to run in the Spring container by implementing batch configuration, enabling batch processing, and wiring the job repository, job explorer, and job launcher with a data source.
Add the Spring Batch database schema via Liquibase and explore how the job repository stores job instances, executions, and contexts for reliable restartable batch runs.
Create a new Spring Batch job configuration with a job builder factory and simple job builder, register the job, and validate file-name parameters and file existence.
Configure a Spring Batch step with the step builder factory, defining a reader, processor, and writer, and implement a simple tasklet that prints hello world, and chunk oriented processing.
Verify a Spring Batch job configuration via a JUnit test that runs with the spring runner and boot context, autowiring the job bean and asserting its existence and name.
Launch a spring batch job via a rest controller at /job, wiring the job launcher and parameters, including a CSV file name for validation and successful execution feedback.
Define the input file for a Spring Batch job by mapping comma-delimited records to a patient record domain object, handling header rows, field definitions, error handling, and post-processing archiving.
Update the step for chunking in Spring Batch by adding an item reader, processor, and writer. Configure a chunk size of 2 and adapt the job step and batch configuration.
Configure a batch flat file item reader with a builder to set the file resource and skip header. Map delimited comma fields to a patient record with the line mapper.
Stub the item processor and item writer in a spring batch chunk job to test the reader, using a pass-through processor and a simple System.out writer for debugging.
Test the flat file item reader in Spring Batch with a single-record input file and job parameters, validating content and the record count.
Execute the full batch job with the item reader and stubbed processor and writer, start the server, and verify success via the rest endpoint and runtime logs.
Harness a Spring Batch item processor to transform patient records into a database-ready format, applying business rules and optionally enhancing input data via web services.
Implement an item processor in a spring batch job by mapping each patient record to a patient entity, including birthdate, and wire it into the job step.
Unit test an item processor in a batch job by applying its Java function to a patient record, producing a patient entity, and verifying results with assertions and step-scoped listeners.
Execute a full spring batch job with a complete item reader and processor, while the writer outputs the patient entity, and verify rest client call and job success via logs.
Define the patient database schema by adding a liquibase changelog that maps table columns to the patient entity, update the master changelog, and verify the changes load correctly.
Explore implementing a JPA item writer in the spring batch framework, configure the entity manager factory, and integrate it into the batch job configuration to write patients to the database.
Test the JPA item writer within a Spring Batch context by creating a patient entity, wiring a repository, and asserting the record persists after a transactional step execution.
Demonstrates running the full spring batch job with the complete item reader, processor, and writer to verify end-to-end functionality and successful execution via logs.
At the core of batch processing is an understanding of the basic concepts and patterns common to most batch products. In this course, you will learn these concepts and patterns in the context of one of the oldest and most mature open source batch frameworks available. First, you will learn about why you may need batch processing, including its benefits and drawbacks. Next, you will explore the foundation of Spring Batch terminology and offerings. Finally, you will follow along in a demonstration of building a full, production-ready Spring Batch job that reads input from a file, processes, and then outputs the information to a database. When you are finished with the course, you should have the basic knowledge needed to start building your own batch jobs using the Spring Batch framework.