카테고리 없음
스프링 배치 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;
};
}
}
실행