Master Spring Batch (based on Spring Boot)

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

4.35 (138 reviews)
Udemy
platform
English
language
Software Engineering
category
instructor
Master Spring Batch (based on Spring Boot)
1,118
students
7 hours
content
Oct 2021
last update
$199.99
regular price

What you will 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

Description

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.

Content

Introduction and Setup

Why should you use Spring Batch?
Where to find the source code
Project import explained

Your first spring batch job

Hello Spring Batch
Definition of terms
The first spring batch application as service
Uniqueness of parameters
Auto-Configuration
Spring initializr
Multiple job configurations in one application

Item Reader, Writer, Processor

Reader / Processor / Writer Introduction
Implement a reader
Implement a writer
Solution to the generics problem
Implement a processor

Scopes

StepScope - Recreate step beans on every job start
Scoped beans without passing NULL
StepScope - A closer look
StepScope & Proxies - How Spring creates Beans on the fly.
JobScope - Create step beans at runtime

Chunks

How the chunk size effects the job processing
Chunks and parallel processes

Real life example

Job components in multiple files
Test complex jobs with partial mocking

The data model

Advantages of the persistent data model
Schema documentation
Schema, Scripts and Migration explained
Unique identifiers and keys
Log Job Summary with Listener
Role of the jobrepository
Store your own information in the data model

Listener

A simple job execution listener
Job execution listener as component
Thread safety for the job execution listener
StepExcecutionListener and Tasklet combined
Listener with Annotations

Scheduling

How to schedule jobs
Advanced scheduling

Validation and fault tolerance

A simple parameter validator
Default parameter validator from spring batch
Filter values in a processor
Fault tolerance for certain exceptions

Practice Project One - A job server for data anonymisation

Project introduction
Project setup
Download and project overview
Initial configuration of the job
Implement the first unit test
Complete the job configuration
Reader and Writer
Filter persons with the processor
Validate parameters
Upload trigger
Upload watch alternatives
JobExecutionListener Part 1
JobExecutionListener Part 2
Your task - Anonymize the input data!
Solution - How the input data is anonymized
Finish the project and summarize

Customize step control flow

How to implement batch flows
Add custom control parameters to flows

Practice project two - flight search engine

Scenario
Search page Introduction
Source code
Import project
Test for the first special offer
Your task, implement the provider decider
Solution for the provider decider
Create a new flow
Second task, implement the other special offer
Fault tolerance
Parallel flows

Practice project three - visualize running jobs

Preview
Download the source code
Import project
List all job definitions
Instances and executions
Trigger a job via controller
Start and stop
End result

Reviews

Fernando
May 8, 2023
El curso es muy completo, con buenos ejemplos y el tutor responde a todas tus preguntas, me parece muy recomendable
Pablo
February 14, 2023
The course content is good and covers interesting topics, however I don't think it's that friendly for someone just starting to learn Spring Batch
Lena
December 1, 2022
The course was very good, the explanations were clear and thorough. I love the practical examples too. At the beginning it was difficult for me to understand the idea and how everything works with factories, readers, writers and so on, but at the end it all made a lot of sense. So if you've just started and getting confused, just bear with it, it's worth it :D
Vanderson
September 15, 2022
Excelente na parte de testes automatizados, muitos exemplos reais. As vezes parece faltar alguma explicação do porque acontecem certas coisas, porém isso se deve ao fato de ser um framework. Recomendo!
Fabio
August 7, 2022
Super course. The official documentation wasn't clear enough to me. I find really effective the strategy to give some details on the framework first and then to apply them to build a couple of real applications.
bablo
February 25, 2022
Very good course, I liked it. Simple, intuitive and to the point, effective in getting you started quickly.
Daniel
February 11, 2022
This guy goes so fast, if you try to code along with him or even follow what he is doing, you have to constantly rewind to see what he just did. He uses IntelliJ shortcuts to finish his code, which is fine, if he paused a moment to let you see the result, but he doesn't. He jumps to another module or method, putting what he just did off screen. He rarely explains any details of what components or methods are. Just codes them in a flash on the screen and jumps to another part of the code. I'm 8 lessons in and wondering why I continue. There was another class that was WAY better than this one that I started a few months back but had to set aside due to work. Udemy has removed that class. All that is left is this guy and another class where the accent is so bad and the instructor goes way to fast to follow.
Andrew
November 15, 2021
I have completed 3 sections now. The course is very well paced. Explanation is straightforward and easy to follow along. The code repository of the course is very useful, I am using it as a reference to understand my own project's code at work and its really helpful!
Pankaj
July 20, 2021
Excellent course. This is the course I am searching for. The course is designed to solve real problem while most of the courses are talking only the theory.

Charts

Price

Master Spring Batch (based on Spring Boot) - Price chart

Rating

Master Spring Batch (based on Spring Boot) - Ratings chart

Enrollment distribution

Master Spring Batch (based on Spring Boot) - Distribution chart
4059478
udemy ID
5/18/2021
course created date
6/15/2021
course indexed date
Bot
course submited by