카테고리 없음

스프링 배치 3.0 초기 세팅

se0nghyun2 2024. 3. 22. 16:45

@EnableBatchProcessing

해당 어노테이션은 Spring3.0에선 사용하지 않으므로 제거해준다. 

 

 

build.gradle

implementation 'org.springframework.boot:spring-boot-starter-batch'
testImplementation 'org.springframework.batch:spring-batch-test'

 

 

DB초기 세팅

DB초기 세팅이 필요하다.

해당 스크립트를 실행하여 테이블을 만들어준다.

org.springframework.batch\spring-batch-core\5.1.1\eee01fa042449368894014aae3843a9c4a9cbe5e\spring-batch-core-5.1.1.jar!\org\springframework\batch\core\schema-mysql.sql

 

 

JobConfig.java

job을 생성해준다.

@Slf4j
@Configuration
@RequiredArgsConstructor
public class JobConfig {

    @Bean
    public Job newTestJob(PlatformTransactionManager transactionManager, JobRepository jobRepository) {
        return new JobBuilder("newTestJob", jobRepository)
                .start(newTestStep(transactionManager, jobRepository))
                .build();
    }

    @Bean
    public Step newTestStep
            (PlatformTransactionManager transactionManager, JobRepository jobRepository) {

        return new StepBuilder("newTestStep", jobRepository)
                .tasklet(newTestTasklet(), transactionManager)
                .build();
    }

    public Tasklet newTestTasklet() {
        return (contribution, chunkContext) -> {
            for(int i=0; i<10;i++){
                log.info(String.valueOf(i));
            }
            return RepeatStatus.FINISHED;
        };
    }
}

 

 

실행