본문 바로가기
스프링/Batch

@Scheduled 핸들러

by 공부 안하고 싶은 사람 2021. 6. 4.
반응형

SchedulingConfigurer를 구현하여 설정을 관리할 수 있다.

 

setPoolSize() 사용하여 thread pool을 늘릴 수 있고( default는 단일쓰레드)

setErrorHandler()을 통해 Error Handling 할 수 있다. -> Exception 발생시 핸들러 처리

 

@Configuration
public class SchedulerConfig implements SchedulingConfigurer {
    @Override
    public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
        ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
        threadPoolTaskScheduler.setPoolSize(5);
        threadPoolTaskScheduler.setErrorHandler(new SchedulerErrorHandler());
        threadPoolTaskScheduler.initialize();

        scheduledTaskRegistrar.setTaskScheduler(threadPoolTaskScheduler);
    }
}

public class SchedulerErrorHandler implements ErrorHandler {
    @Override
    public void handleError(Throwable throwable) {
        //에러 발생시 핸들링 될 내용
        System.out.println("handling logic");
    }
}
728x90
반응형

'스프링 > Batch' 카테고리의 다른 글

Spring Batch  (0) 2021.06.28

댓글