본문 바로가기

카테고리 없음

스프링 스케쥴러

@Scheduled 어노테이션을 사용하면 여러개의 스케쥴 작업이 스레드 여러개에서 도는것이 아니라 순서대로 진행한다.

스레드를 사용해서 여러개의 스케쥴러를 돌리고 싶다면 아래와 같이 @Configuration 해주면 된다.

 

@Configuration
public class SchedulerConfig implements SchedulingConfigurer {
    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();

        threadPoolTaskScheduler.setPoolSize(5);
        threadPoolTaskScheduler.setThreadGroupName("settlement-scheduler");
        threadPoolTaskScheduler.setThreadNamePrefix("scheduler-thread-");
        threadPoolTaskScheduler.initialize();

        taskRegistrar.setTaskScheduler(threadPoolTaskScheduler);
    }
}