[스프링 배치] 잡 리스너의 적용
- Coding/Spring Batch
- 2021. 9. 20.
반응형
728x90
반응형
JobExecutionListener
해당 리스너를 통해 잡 리스너를 적용시킬 수 있다. JobExecutionListener는 2개의 메소드를 제공한다.
- beforeJob
: 잡 생명주기에서 가장 먼저 실행된다.
- afterJob
: 잡 생명주기에서 가장 나중에 실행된다.
: 잡의 완료 상태에 관계 없이 호출된다.
: 잡의 종료 상태에 따라 분기 처리를 할 수 있다.
구현방법
beforeJob, afterJob 메서드 모두 JobExecution 을 파라미터로 전달받아 실행된다. 여기서 JobExecution란, 스프링 배치 잡의 실제 실행을 의미한다. 잡을 구동할 때마다 매번 새로운 JobExecution 을 얻게된다.
https://devfunny.tistory.com/476
- 1) JobExecutionListener 인터페이스 구현
import org.springframework.batch.core.JobExecution;
import org.springframework.batch.core.JobExecutionListener;
public class JobLoggerListener implements JobExecutionListener {
@Override
public void beforeJob(JobExecution jobExecution) {
System.out.println("beforeJob");
}
@Override
public void afterJob(JobExecution jobExecution) {
System.out.println("afterJob");
}
}
- 2) 어노테이션 사용
/**
* 어노테이션으로 구성
* JobExecutionListener 구현 불필요
* 해당 클래스 사용을 하려면 JobListenerFactoryBean 을 사용한다.
*/
public class JobLoggerAnnotationListener {
@BeforeJob
public void beforeJob(JobExecution jobExecution) {
System.out.println("beforeJob");
}
@AfterJob
public void afterJob(JobExecution jobExecution) {
System.out.println("afterJob);
}
}
반응형