스프링 배치 3.0 이상 버전을 이용하므로 @EnableBatchProcessing
이 필요하지 않다
지난번에 만든 스프링배치 프로젝트 활용
@Configuration
을 통해서 생성할 Batch Bean을 스프링에 등록한다.Tasklet → Step 내에서 구성되고 실행되는 도메인 객체, 단일 task를 수행하기 위해 사용된다.
import lombok.extern.slf4j.Slf4j;
import org.springframework.batch.core.StepContribution;
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.beans.factory.InitializingBean;
@Slf4j
public class GreetingTasklet implements Tasklet, InitializingBean {
@Override
public RepeatStatus execute(StepContribution contribution,
ChunkContext chunkContext) throws Exception{
log.info("======================Taks Execute======================");
log.info("GreetingTask: {}, {}", contribution, chunkContext);
return RepeatStatus.FINISHED;
}
@Override
public void afterPropertiesSet() throws Exception{
log.info("====================== After Properties Sets()=====================");
}
}
StepContribution
, ChunkContext
를 파라미터로 받음RepeatStatus
를 반환한다.
FINISHED
: tasklet 종료CONTINUABLE
: 계속 태스크 수행continueIf(condition)
: 조건에 따라 종료/지속 결정@Slf4j
@Configuration
public class BasicTaskJobConfiguration {
}