[스프링 배치] JobLauncherCommandLineRunner 모든 잡 실행 설정 제거

반응형
728x90
반응형

들어가기

스프링 부트는 CommandLineRunner, ApplicationRunner 라는 두가지 메커니즘을 이요해 실행 시 로직을 수행한다. 이 두 인터페이스는 ApplicationContext 가 리프레시(refresh) 되고, 애플리케이션이 코드를 실행할 준비가 된 이후에 호출되는 하나의 메서드를 가지고 있다.

 

스프링 부트를 스프링 배치가 함께 사용할때는 JobLauncherCommandLineRunner 라는 CommandLineRunner 가 사용된다.

 

 

JobLauncherCommandLineRunner

스프링 배치의 JobLauncher 를 사용해 잡을 실행한다. 스프링부트가 ApplicationContext 내에 구성된 모든 CommandLineRunner 를 실행할때, 클래스 패스에 spring-boot-starter-batch 가 존재한다면 JobLauncherCommandLineRunner 컨텍스트 내에서 찾아낸 모든 잡을 실행한다.

 

 

 

모든 잡의 실행 설정 제거 방법

  • 1) application.yml
spring: 
  batch: 
    job: 
      enabled: false

 

해당 프로퍼티가 제공된다. 기본값은 true이다. 애플리케이션의 application.yml 파일 내에 해당 프로퍼티를 false 로 지정하면 된다.

 

  • 2) main 메서드 수정
public static void main(String[] args) {
    /** spring.batch.job.enabled : false 설정 */
    SpringApplication application = new SpringApplication(Chapter06Application.class);

    Properties properties = new Properties();
    properties.put("spring.batch.job.enabled", false);

    application.setDefaultProperties(properties);

    application.run(args);
}

 

 

반응형

Designed by JB FACTORY