From 7716554ac71064204e30ac3c8b700e7eab31f9a2 Mon Sep 17 00:00:00 2001
From: NAVEEN <68312849+engineerscodes@users.noreply.github.com>
Date: Wed, 19 Nov 2025 23:50:59 +0530
Subject: [PATCH 1/2] Delete SpringBatch directory
---
SpringBatch/pom.xml | 135 ------------------
.../main/java/org/example/Application.java | 13 --
.../java/org/example/Config/BatchConfig.java | 103 -------------
.../example/component/TimeoutListener.java | 19 ---
.../java/org/example/controller/Batch.java | 43 ------
.../service/ExternalReactiveService.java | 14 --
.../src/main/resources/application.properties | 16 ---
7 files changed, 343 deletions(-)
delete mode 100644 SpringBatch/pom.xml
delete mode 100644 SpringBatch/src/main/java/org/example/Application.java
delete mode 100644 SpringBatch/src/main/java/org/example/Config/BatchConfig.java
delete mode 100644 SpringBatch/src/main/java/org/example/component/TimeoutListener.java
delete mode 100644 SpringBatch/src/main/java/org/example/controller/Batch.java
delete mode 100644 SpringBatch/src/main/java/org/example/service/ExternalReactiveService.java
delete mode 100644 SpringBatch/src/main/resources/application.properties
diff --git a/SpringBatch/pom.xml b/SpringBatch/pom.xml
deleted file mode 100644
index 32b83c4..0000000
--- a/SpringBatch/pom.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
- 4.0.0
-
- org.example
- SpringBatch
- 1.0-SNAPSHOT
-
-
- 21
- 21
- 1.5.5.Final
-
-
-
- org.springframework.boot
- spring-boot-starter-parent
- 3.5.4
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
- org.springframework.boot
- spring-boot-starter-batch
-
-
-
- org.projectlombok
- lombok
- provided
-
-
-
- org.springframework.boot
- spring-boot-starter-data-jpa
-
-
-
- org.mapstruct
- mapstruct
- ${org.mapstruct.version}
-
-
-
- org.postgresql
- postgresql
- runtime
-
-
-
-
- org.springframework.boot
- spring-boot-starter-actuator
-
-
-
- jakarta.validation
- jakarta.validation-api
-
-
-
- org.springframework.boot
- spring-boot-starter-validation
-
-
-
- org.springframework.cloud
- spring-cloud-starter-circuitbreaker-reactor-resilience4j
- 3.3.0
-
-
-
- io.github.resilience4j
- resilience4j-bulkhead
- 2.2.0
-
-
-
- org.springframework.boot
- spring-boot-starter-webflux
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
- org.projectlombok
- lombok
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.8.1
-
- ${java.version}
- ${java.version}
- ${project.build.sourceEncoding}
-
-
- org.projectlombok
- lombok
- ${lombok.version}
-
-
- org.mapstruct
- mapstruct-processor
- ${org.mapstruct.version}
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/SpringBatch/src/main/java/org/example/Application.java b/SpringBatch/src/main/java/org/example/Application.java
deleted file mode 100644
index c8c47d9..0000000
--- a/SpringBatch/src/main/java/org/example/Application.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.example;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-@SpringBootApplication
-public class Application {
-
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
- }
-
-}
diff --git a/SpringBatch/src/main/java/org/example/Config/BatchConfig.java b/SpringBatch/src/main/java/org/example/Config/BatchConfig.java
deleted file mode 100644
index 39a5af4..0000000
--- a/SpringBatch/src/main/java/org/example/Config/BatchConfig.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.example.Config;
-
-import io.github.resilience4j.bulkhead.BulkheadConfig;
-import io.github.resilience4j.bulkhead.ThreadPoolBulkheadConfig;
-import io.github.resilience4j.bulkhead.annotation.Bulkhead;
-import io.github.resilience4j.circuitbreaker.CircuitBreakerConfig;
-import io.github.resilience4j.timelimiter.TimeLimiterConfig;
-import org.example.component.TimeoutListener;
-import org.springframework.batch.core.*;
-import org.springframework.batch.core.configuration.annotation.*;
-import org.springframework.batch.core.job.builder.*;
-import org.springframework.batch.core.launch.JobLauncher;
-import org.springframework.batch.core.launch.support.*;
-import org.springframework.batch.core.repository.JobRepository;
-import org.springframework.batch.core.repository.support.JobRepositoryFactoryBean;
-import org.springframework.batch.core.step.builder.*;
-import org.springframework.batch.repeat.RepeatStatus;
-import org.springframework.cloud.circuitbreaker.resilience4j.ReactiveResilience4jBulkheadProvider;
-import org.springframework.cloud.circuitbreaker.resilience4j.Resilience4JCircuitBreakerFactory;
-import org.springframework.cloud.circuitbreaker.resilience4j.Resilience4JConfigBuilder;
-import org.springframework.cloud.circuitbreaker.resilience4j.Resilience4jBulkheadProvider;
-import org.springframework.cloud.client.circuitbreaker.Customizer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
-import org.springframework.transaction.PlatformTransactionManager;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-import javax.sql.DataSource;
-import java.time.Duration;
-
-@Configuration
-@EnableBatchProcessing
-@EnableTransactionManagement
-public class BatchConfig {
-
- @Bean
- public Job demoJob(JobRepository jobRepository, Step demoStep) {
- return new JobBuilder("demoJob", jobRepository)
- .listener(new TimeoutListener())
- .start(demoStep)
- .build();
- }
-
- @Bean
- public Step demoStep(JobRepository jobRepository, PlatformTransactionManager transactionManager) {
- return new StepBuilder("demoStep", jobRepository)
- .tasklet((contribution, chunkContext) -> {
- for(int i=0; i<5000; i++) {
- System.out.println("Processing step " + (i + 1) + "/5");
- Thread.sleep(1000); // Simulate work
- }
- System.out.println(">>> Running batch job with REST trigger <<<");
- return RepeatStatus.FINISHED;
- }, transactionManager).allowStartIfComplete(true)
- .build();
- }
-
- @Bean
- public JobRepository jobRepository(DataSource dataSource, PlatformTransactionManager transactionManager) throws Exception {
- JobRepositoryFactoryBean factory = new JobRepositoryFactoryBean();
- factory.setDataSource(dataSource);
- factory.setTransactionManager(transactionManager);
- factory.afterPropertiesSet();
- return factory.getObject();
- }
-
- @Bean
- public JobLauncher jobLauncher(JobRepository jobRepository) throws Exception {
- TaskExecutorJobLauncher jobLauncher = new TaskExecutorJobLauncher();
- jobLauncher.setJobRepository(jobRepository);
-
- ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
- executor.setCorePoolSize(2);
- executor.setMaxPoolSize(2);
- executor.setQueueCapacity(2);
- executor.setThreadNamePrefix("batch-job-");
- executor.initialize();
-
- jobLauncher.setTaskExecutor(executor);
- jobLauncher.afterPropertiesSet();
- return jobLauncher;
- }
-
- @Bean
- public Customizer defaultCustomizer() {
- return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id)
- .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(4)).build())
- .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults())
- .build());
- }
-
- @Bean
- public Customizer reactiveSpecificBulkheadCustomizer() {
- return provider -> provider.configure(builder -> {
- builder.bulkheadConfig(BulkheadConfig.custom()
- .maxConcurrentCalls(2)
- .build());
- }, "serviceBulkhead");
- }
-
-
-
-}
diff --git a/SpringBatch/src/main/java/org/example/component/TimeoutListener.java b/SpringBatch/src/main/java/org/example/component/TimeoutListener.java
deleted file mode 100644
index 60d152d..0000000
--- a/SpringBatch/src/main/java/org/example/component/TimeoutListener.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.example.component;
-
-import org.springframework.batch.core.JobExecution;
-import org.springframework.batch.core.JobExecutionListener;
-import org.springframework.stereotype.Component;
-
-@Component
-public class TimeoutListener implements JobExecutionListener {
-
- @Override
- public void beforeJob(JobExecution jobExecution) {
- System.out.println("Job is starting...");
- }
-
- @Override
- public void afterJob(JobExecution jobExecution) {
- System.out.println("Job has ended.");
- }
-}
\ No newline at end of file
diff --git a/SpringBatch/src/main/java/org/example/controller/Batch.java b/SpringBatch/src/main/java/org/example/controller/Batch.java
deleted file mode 100644
index c9f2360..0000000
--- a/SpringBatch/src/main/java/org/example/controller/Batch.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.example.controller;
-
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.batch.core.Job;
-import org.springframework.batch.core.JobParameters;
-import org.springframework.batch.core.JobParametersBuilder;
-import org.springframework.batch.core.JobParametersInvalidException;
-import org.springframework.batch.core.launch.JobLauncher;
-import org.springframework.batch.core.repository.JobExecutionAlreadyRunningException;
-import org.springframework.batch.core.repository.JobInstanceAlreadyCompleteException;
-import org.springframework.batch.core.repository.JobRestartException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-
-@Slf4j
-@Controller
-public class Batch {
-
-
- @Autowired
- private JobLauncher jobLauncher;
-
-
- @Autowired
- private Job demoJob;
-
-
-
- @GetMapping("/batch")
- private ResponseEntity