[스프링 배치] 잡 리스너의 적용

반응형
728x90
반응형

JobExecutionListener

해당 리스너를 통해 잡 리스너를 적용시킬 수 있다. JobExecutionListener는 2개의 메소드를 제공한다.

 

  • beforeJob

: 잡 생명주기에서 가장 먼저 실행된다.

 

  • afterJob

: 잡 생명주기에서 가장 나중에 실행된다.

: 잡의 완료 상태에 관계 없이 호출된다.

: 잡의 종료 상태에 따라 분기 처리를 할 수 있다.

 

 

 

구현방법

beforeJob, afterJob 메서드 모두 JobExecution 을 파라미터로 전달받아 실행된다. 여기서 JobExecution란, 스프링 배치 잡의 실제 실행을 의미한다. 잡을 구동할 때마다 매번 새로운 JobExecution 을 얻게된다.

 

https://devfunny.tistory.com/476

 

[스프링배치] 잡의 실행 (JobLauncher, JobInstance, JobExecution, JobParameters)

잡의 실행 잡의 실행은 잡 러너 (Job Runner) 에서 시작된다. 잡 러너는 잡 이름과 여러 파라미터를 받아, 잡을 실행시킨다. 스프링 배치는 2가지 잡 러너를 제공한다. 1) CommandLineJobRunner 스크립트를

devfunny.tistory.com

 

  • 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);
    }
}

 

반응형

Designed by JB FACTORY