EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • All Courses
    • All Specializations
  • Blog
  • Enterprise
  • Free Courses
  • All Courses
  • All Specializations
  • Log in
  • Sign Up
Home Software Development Software Development Tutorials Spring Tutorial Spring Batch Admin
 

Spring Batch Admin

Updated March 29, 2023

Spring Batch Admin

 

 

Definition of Spring Batch Admin

It gives us a web-based user interface for managing Spring Batch jobs. For managing and monitoring Spring Batch operations, Spring Cloud Data Flow is now the preferred replacement. It is built on the Spring MVC, Spring Framework, and Spring Integration technologies. It is a full-featured web application that is simple to set up and deploy.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

What is spring batch admin?

  • Spring batch is an open-source batch processing framework that was widely used. It will create Jobs that process large amounts of data in batches.
  • These Jobs can be performed as basic Java apps or scheduled to run on a regular basis using schedulers such as Quartz.
  • The web-based management console for the spring batch is called spring batch admin. It allows us to keep track of batch jobs’ progress as well as initiate and stop them.
  • Because it includes all of the functionality for managing and monitoring the behavior of our jobs, Spring Batch Admin can be the only access point in our batch infrastructure.
  • Furthermore, it is an open-source project, if we discover a missing feature, we can implement it and submit it to the project.
  • Spring batch admin’s configuration is based on spring.
  • It contains a few extra features. It not only provides a UI for seeing and monitoring the Jobs that have been configured, but it also allows for simpler management over their running and scheduling, monitoring their performance, checking their status, and restarting or stopping them, among other things.

How to use spring batch admin?

  • The key to use is that Job configuration files are parsed into individual spring application context instances, each of which is tracked by its file name.
  • The application provides the execution environment (DataSource, JobLauncher, transaction manager, and so on) as a parent context, and the Jobs all live in child contexts of that environment.
  • This means they can be volatile, and the application’s lifespan can be handled by a service.
  • Spring Integration uses a service activator wrapped in a JobLoader to activate the service in question.
  • Spring Batch’s JobLoader component records and manages ApplicationContext objects containing Jobs.
  • Execution of Steps can take place in two different ways. Chunk-Oriented Processing is the first method.
  • When data is read, processed, and written, this is the method to employ. Processing, on the other hand, may be a purely optional step. Data is read and processed in chunks, then aggregated until the chunk size is reached in this method.
  • The complete chunk is written to the output when this happens.

Creating spring batch admin

We are using the SpringBatchAdmin project to create are as follows.

1) Create database and tables on PostgreSQL database –

Code:

Create database springbatchadmin;
Create table stud (id int);

spring batch admin 1

2) Configure data source –

Code:

batch.jdbc.driver = com.postgresql.jdbc.Driver
batch.jdbc.url = jdbc:postgresql://localhost/springbatchadmin
batch.jdbc.user = postgres
batch.jdbc.password = postgres
batch.jdbc.testWhileIdle = true
batch.jdbc.validationQuery = SELECT 1
batch.jdbc.defaultAutoCommit = false

spring batch admin 2

3) Define the jobs –

In the below step, we are defining the jobs of our application. We have placed this XML in META-INF location.

spring batch admin 3

4) Create job of job configuration –

Code:

@Configuration
@EnableBatchProcessing
public class SpringBatchAdmin {
@Autowired
private JobBuilderFactory jbf;
@Autowired
private StepBuilderFactory sbf;
private JdbcTemplate jt;
@Bean
public Job sampleJob() {
return jobBuilderFactory.get ("job")
.incrementer (sampleIncrementer ())
.start(sampleStep1())
.build();
}
@Bean
public ItemReader<SampleMessage> sampleReader() {
FlatFileItemReader<SampleMessage> itemReader = new FlatFileItemReader<SampleMessage>();
itemReader.setLineMapper (sampleLineMapper ());
itemReader.setResource (new ClassPathResource ("springbatchadmin.csv"));
return itemReader;
}
@Bean
public ItemWriter<SampleMessage> sampleWriter () {
return new ItemWriter<SampleMessage>() {
@Override
public void write(List<? extends SampleMessage> messages) throws Exception
{
for (SampleMessage message : messages)
{
jt.update ("INSERT INTO stud (id) VALUES (?)", stud.getType (),
stud.getContent ());
}
};
}

spring batch admin 4

5) Create pojo class –

Code:

public class studPojo {
private int id;
public int getID() {
return id;
}
public void setID(int id) {
this.id = id;
}
}

output

Running Spring Batch Admin

Below steps shows to run the spring batch admin are as follows.

1) Run the spring batch admin application –

output

2) Deploy the spring batch admin application –

output

3) Display the jobs –

Output

Project Set-Up

Below example, of steps shows to set up the project which is as follows.

1) Create a project template of spring batch admin by using spring initializer

  • In the below step, we have provided project group name as com. example, artifact name as SpringBatchAdmin, project name as SpringBatchAdmin, and selected java version as 8. Also, we have defined the spring boot version is 2.6.0, and defined the project as maven.
  • In below project, we have selected spring web, spring batch, and PostgreSQL driver dependency to implement the spring batch job project.

Group – com.example
Artifact name – SpringBatchAdmin
Name – SpringBatchAdmin
Spring boot – 2.6.0
Project – Maven
Java – 8
Package name – com.example.SpringBatchAdmin
Project Description – Project for SpringBatchAdmin
Dependencies – spring web, PostgreSQL driver, spring batch.

output

2) After generating project extract files and open this project by using spring tool suite –

  • After generating the project by using spring initializer in this step we are extracting the jar file and opening project by using spring tool suite.

output 2

3) After opening project using the spring tool suite check the project and its files –

  • In this step, we are checking all the project template files. We also need to check maven dependencies and system libraries.

output 3

4) Add dependency packages –

  • In this step, we are adding the dependency in the project.

Code:

<dependency> -- Start of dependency tag.
<groupId>org.springframework.batch</groupId> -- Start and end of groupId tag.
<artifactId>spring-batch-admin-manager</artifactId> -- Start and end of artifactId tag.
</dependency> -- End of dependency tag.
<dependency> -- Start of dependency tag.
<groupId>org.postgresql</groupId> -- Start and end of groupId tag.
<artifactId>postgresql</artifactId> -- Start and end of artifactId tag.
</dependency> -- End of dependency tag.

output 4

Conclusion

It contains a few extra features. It not only provides a UI for seeing and monitoring the Jobs that have been configured, but it also allows for simpler management over their running and scheduling, monitoring their performance, checking their status, and restarting or stopping them, among other things.

Recommended Articles

This is a guide to Spring Batch Admin. Here we discuss the definition, What is spring batch admin, and How to use spring batch admin? examples with code implementation. You may also have a look at the following articles to learn more –

  1. Spring Batch Architecture
  2. Spring Batch Interview Questions
  3. Spring Boot Batch
  4. Spring Boot Application
Primary Sidebar
Footer
Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

🚀 Limited Time Offer! - 🎁 ENROLL NOW