diff --git a/src/main/java/com/example/springbatch/batch/SecondBatch.java b/src/main/java/com/example/springbatch/batch/SecondBatch.java index 6d66f63..64dfa42 100644 --- a/src/main/java/com/example/springbatch/batch/SecondBatch.java +++ b/src/main/java/com/example/springbatch/batch/SecondBatch.java @@ -1,10 +1,13 @@ package com.example.springbatch.batch; +import com.example.springbatch.entity.WinEntity; import org.springframework.batch.core.Job; import org.springframework.batch.core.Step; import org.springframework.batch.core.job.builder.JobBuilder; import org.springframework.batch.core.repository.JobRepository; import org.springframework.batch.core.step.builder.StepBuilder; +import org.springframework.batch.item.data.RepositoryItemReader; +import org.springframework.batch.item.data.builder.RepositoryItemReaderBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.PlatformTransactionManager; @@ -20,18 +23,26 @@ public class SecondBatch { this.platformTransactionManager = platformTransactionManager; } -// @Bean -// public Job secondJob() { -// -// return new JobBuilder("secondJob", jobRepository) -// .start() -// .build(); -// } -// -// @Bean -// public Step secondStep() { -// -// return new StepBuilder("secondStep", jobRepository) -// .build(); -// } + @Bean + public Job secondJob() { + + return new JobBuilder("secondJob", jobRepository) + .start(secondStep()) + .build(); + } + + @Bean + public Step secondStep() { + + return new StepBuilder("secondStep", jobRepository) + . chunk(10, platformTransactionManager) + .build(); + } + + @Bean + public RepositoryItemReader winReader() { + + return new RepositoryItemReaderBuilder() + .name("") + } } diff --git a/src/main/java/com/example/springbatch/batch/ThirdBatch.java b/src/main/java/com/example/springbatch/batch/ThirdBatch.java deleted file mode 100644 index a61b2fd..0000000 --- a/src/main/java/com/example/springbatch/batch/ThirdBatch.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.example.springbatch.batch; - -import org.springframework.batch.core.Job; -import org.springframework.batch.core.Step; -import org.springframework.batch.core.job.builder.JobBuilder; -import org.springframework.batch.core.repository.JobRepository; -import org.springframework.batch.core.step.builder.StepBuilder; -import org.springframework.batch.item.ItemProcessor; -import org.springframework.batch.item.ItemReader; -import org.springframework.batch.item.ItemWriter; -import org.springframework.batch.item.support.ListItemReader; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.transaction.PlatformTransactionManager; - -import java.util.Arrays; - -@Configuration -public class ThirdBatch { - - private final JobRepository jobRepository; - private final PlatformTransactionManager platformTransactionManager; - - public ThirdBatch(JobRepository jobRepository, PlatformTransactionManager platformTransactionManager) { - this.jobRepository = jobRepository; - this.platformTransactionManager = platformTransactionManager; - } - - @Bean - public Job thirdJob() { - - System.out.println("third job"); - - return new JobBuilder("thirdJob", jobRepository) - .start(thirdStep()) - .build(); - } - - @Bean - public Step thirdStep() { - - System.out.println("third step"); - - return new StepBuilder("thirdStep", jobRepository) - . chunk(3, platformTransactionManager) - .reader(thirdReader()) - .processor(upperProcessor()) - .writer(thirdWriter()) - .build(); - } - - @Bean - public ItemReader thirdReader() { - - return new ListItemReader<>(Arrays.asList("kim", "lee", "park", "choi", "jeong", "ha", "jo")); - } - - @Bean - public ItemProcessor upperProcessor() { - - return item -> item.toUpperCase(); - } - - @Bean - public ItemWriter thirdWriter() { - - return item -> item.forEach(System.out::println); - } -} diff --git a/src/main/java/com/example/springbatch/controller/MainController.java b/src/main/java/com/example/springbatch/controller/MainController.java index 77c9984..6becb62 100644 --- a/src/main/java/com/example/springbatch/controller/MainController.java +++ b/src/main/java/com/example/springbatch/controller/MainController.java @@ -37,24 +37,5 @@ public class MainController { return "ok"; } - @GetMapping("/third") - public String thirdApi(@RequestParam("value") String value) { - - System.out.println(value); - - JobParameters jobParameters = new JobParametersBuilder() - .addString("date", value) -// .addLong() - .toJobParameters(); - - try { - jobLauncher.run(jobRegistry.getJob("thirdJob"), jobParameters); - } catch (Exception e) { - throw new RuntimeException(e); - } - - return "ok"; - } - //https://docs.spring.io/spring-batch/reference/job/configuring-launcher.html } diff --git a/src/main/java/com/example/springbatch/repository/WinRepository.java b/src/main/java/com/example/springbatch/repository/WinRepository.java index f65cc96..a1b6631 100644 --- a/src/main/java/com/example/springbatch/repository/WinRepository.java +++ b/src/main/java/com/example/springbatch/repository/WinRepository.java @@ -3,7 +3,9 @@ package com.example.springbatch.repository; import com.example.springbatch.entity.WinEntity; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.Optional; + public interface WinRepository extends JpaRepository { - + Optional findByWinGreaterThanEqual(Long win); }