Spring Batch is a lightweight framework that enables the development of batch applications for enterprise systems.
The Keyhole team consists of prolific bloggers, and a common topic we write about is how we use Spring Batch for our enterprise clients. Please peruse the following resources about Spring Batch:
Introductory Blog Series
- Introducing Spring Batchย -ย short overview and simple hands-on primer to get you started using Spring Batch.
- Getting Started With Spring Batchย - what it takes to get up and running.
- Generating Large Excel Files Using Spring Batchย - how to create a potentially large Excel file without causing memory meltdown on the server hardware.
Spring Batch Customization
- Scaling Spring Batch โ Step Partitioningย - partitioning a step so that the step has several threads that are each processing a chunk of data in parallel.ย
- Spring Batch: Multiple Format Output Writerย - how to quickly implement your ownย ItemStreamWriterย that delegates the writing to your individual writers.
- Making Spring Batch Groovyย - Since anything you can do in Java, you should be able to do in Groovy, the author began to wonder if you can make Spring Batch Groovy...
- Using Spring Integration In Conjunction With Spring Batchย -ย an example of Spring Integration configuration code, breaking it apart and showing how each part works.
- Spring Batch Restartability -ย how to identify improper usage of Spring Batchโs Step & Job ExecutionContext as well asย how to write good, wholesome components for Spring Batch.
Patterns & Integrations
- Introducing The Delegate Patternย - introduction to a design pattern where an object, instead of performing one of its stated tasks, delegates that task to an associated helper object.
- Encrypting Working Files Locally in Spring Batch -ย solution for encrypting sensitive files for local use with Javaโs Encryption library & tying directly into Spring Batch readers and writers.
Testing
- Spring Batch Unit Testing and Mockitoย -ย how to stub method calls in order to unit test Spring components that make use of injected dependencies.
- Cucumber Testing in Spring Batch -ย ย why you want to use Cucumber with Spring Batch, example tests, and suggestions for getting started.
Modernization
- Spring Batch โ Replacing XML Job Configuration With JavaConfigย - how to convert an existing XML-based Spring Batch configuration to the new JavaConfig annotation-based configuration
- Modernization Lessons: FTP & the Mainframe -ย three data challenges encountered in the transition of an enterprise mainframe to Java web application with Spring Batch, how they were overcome, and tips for similar migration situations.

