Master Spring Batch (based on Spring Boot)

Data processing in jobs (parallelizing, monitoring, restarting, etc.). Build complete batch applications from scratch.

Spring Batch is one of the many excellent tools from the Spring Framework. Unfortunately, it is rarely used. One reason may be that the learning curve at the beginning is a little steeper than with the usual Spring. As an example, a simple Hello World application will easily fill a screen page. But this first hurdle should not stop you from learning this framework. Once you have modeled your data processing with Spring Batch, you will have countless optimization possibilities at your disposal. Everyone who has ever dealt with serious batch processing will sooner or later encounter the problems that this framework has already solved. For me, the greatest problem of concern is state handling and error analysis. Proper maintenance is much more difficult than you might think at first. A long-running process, which executes all tasks one after the other might function well and has no problems. But when interruptions, repetitions, parallelism, or asynchronous calls are added, then the greatest effort of thought is required to build a stable solution. In cases where errors occur in live operation and need to be solved immediately, you would need a good tool to deliver corrections quickly.

What you’ll learn

  • Spring Batch in complete Java configuration based on Spring Boot.
  • Setting up a simple Spring Batch job.
  • Developing a complete Spring Batch application.
  • Data processing with Reader, Writer, Processor – Performance optimization through parallelization.
  • Fault tolerance and error handling.
  • Parameter Validation.
  • Several ways to save states.
  • Control flows.
  • Evaluate jobs – How to develop the backend for a custom administration interface.
  • The Spring Batch Data Model.
  • Test Batch Jobs.
  • How to simulate parts of a batch job with mock objects.

Course Content

  • Introduction and Setup –> 3 lectures • 10min.
  • Your first spring batch job –> 7 lectures • 43min.
  • Item Reader, Writer, Processor –> 5 lectures • 24min.
  • Scopes –> 5 lectures • 17min.
  • Chunks –> 2 lectures • 18min.
  • Real life example –> 2 lectures • 24min.
  • The data model –> 7 lectures • 35min.
  • Listener –> 5 lectures • 32min.
  • Scheduling –> 2 lectures • 10min.
  • Validation and fault tolerance –> 4 lectures • 14min.

Master Spring Batch (based on Spring Boot)

Requirements

  • Basic knowledge of Spring.
  • Good Java knowledge.
  • An understanding of software development.

Spring Batch is one of the many excellent tools from the Spring Framework. Unfortunately, it is rarely used. One reason may be that the learning curve at the beginning is a little steeper than with the usual Spring. As an example, a simple Hello World application will easily fill a screen page. But this first hurdle should not stop you from learning this framework. Once you have modeled your data processing with Spring Batch, you will have countless optimization possibilities at your disposal. Everyone who has ever dealt with serious batch processing will sooner or later encounter the problems that this framework has already solved. For me, the greatest problem of concern is state handling and error analysis. Proper maintenance is much more difficult than you might think at first. A long-running process, which executes all tasks one after the other might function well and has no problems. But when interruptions, repetitions, parallelism, or asynchronous calls are added, then the greatest effort of thought is required to build a stable solution. In cases where errors occur in live operation and need to be solved immediately, you would need a good tool to deliver corrections quickly.

For this course, I worked through the latest documentation and programmed several practical examples based on it. I will show you the individual features step by step in small unit tests, with which you can learn everything experimentally on your own. Using practical examples, you will learn how everything is connected. Everything I teach here is something that I implement in my day-to-day work. My colleagues and I have high standards for the quality of our work. I also try to incorporate this aspect into the structure of the source texts for this course, so that you can learn practical examples.

Get Tutorial