반응형
목차
아래 포스팅에서 이어진 내용입니다.
spring batch에서는 기본으로 같은 jobParameter의 job이라도 종료상태가 실패인 경우 성공할 때까지 재수행이 가능
허나 실패해도 재수행 되면 안되는 job도 있을 수 있으니 이 경우 사용하면 될 듯 하다.
JobConfig 🤗
package com.dev.lsy.springpreventex;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.Step;
import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
import org.springframework.batch.core.scope.context.ChunkContext;
import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.repeat.RepeatStatus;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@RequiredArgsConstructor
@Slf4j
@Configuration
public class JobConfig {
private final JobBuilderFactory jobBuilderFactory;
private final StepBuilderFactory stepBuilderFactory;
@Bean
public Job job1() {
return jobBuilderFactory.get("job1")
.start(step1())
.next(step2())
//재시작 중지 옵션
.preventRestart()
.build();
}
@Bean
public Step step1() {
return stepBuilderFactory.get("step1")
.tasklet(new Tasklet() {
@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
log.info("step1 excuted~~~~~");
return RepeatStatus.FINISHED;
}
})
.build();
}
@Bean
public Step step2() {
return stepBuilderFactory.get("step2")
.tasklet((contribution, chunkContext) -> {
//강제 예외 발생
throw new RuntimeException("step2 was failed~");
// return RepeatStatus.FINISHED;
})
.build();
}
}
개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다.
틀린 점 있을 경우 댓글 부탁드립니다.
reference: https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B0%B0%EC%B9%98
다음 내용
반응형
'IT > development' 카테고리의 다른 글
[springBoot] spring batch JobScope, StepScope (55) | 2023.11.15 |
---|---|
[springBoot] spring batch allowStartIfComplete (53) | 2023.11.15 |
[springBoot] spring batch scheduler modularization (feat. DB) (49) | 2023.11.13 |
[springBoot] spring batch scheduler jpaRead/Writer (feat. DB) (54) | 2023.11.12 |
[springBoot] spring batch scheduler simpleBatch (feat. scheduler) (50) | 2023.11.12 |