diff --git a/src/main/java/com/example/demo/job/TransactionJobConfig.java b/src/main/java/com/example/demo/job/TransactionJobConfig.java new file mode 100644 index 0000000..991e60c --- /dev/null +++ b/src/main/java/com/example/demo/job/TransactionJobConfig.java @@ -0,0 +1,38 @@ +package com.example.demo.job; + +import org.springframework.batch.core.Job; +import org.springframework.batch.core.Step; +import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing; +import org.springframework.batch.core.configuration.annotation.JobBuilderFactory; +import org.springframework.batch.core.configuration.annotation.StepBuilderFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +@EnableBatchProcessing +public class TransactionJobConfig { + private final JobBuilderFactory jobBuilderFactory; + private final StepBuilderFactory stepBuilderFactory; + + public TransactionJobConfig(JobBuilderFactory jobBuilderFactory, StepBuilderFactory stepBuilderFactory) { + this.jobBuilderFactory = jobBuilderFactory; + this.stepBuilderFactory = stepBuilderFactory; + } + + @Bean + public Job transactionJob() { + return jobBuilderFactory.get("transactionJob") + .start(transactionStep()) + .build(); + } + + @Bean + public Step transactionStep() { + return stepBuilderFactory.get("transactionStep") + .tasklet((contribution, chunkContext) -> { + // 배치 작업 로직 + return null; + }) + .build(); + } +} \ No newline at end of file