Spring MVC에서 스케줄러를 설정하는 방법은 크게 두 가지가 있습니다.
그 중 애노테이션을 이용한 방법으로 스케쥴링을 구현하였습니다.
시작 전 아래와 같이 폴더 및 파일 생성을 해줍니다.
<!-- Annotation -->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- Base package -->
<context:component-scan base-package="com.company.frmm.scheduler"></context:component-scan>
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
@Configuration
public class SchedulerConfig implements SchedulingConfigurer {
private final int POOL_SIZE = 10;
@Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(POOL_SIZE);
threadPoolTaskScheduler.initialize();;
scheduledTaskRegistrar.setTaskScheduler(threadPoolTaskScheduler);
}
}
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
@EnableScheduling // 스케쥴링을 위한 애노테이션
public class CustomScheduler {
@Scheduled(cron = "*/10 * * * * *") //10초마다 실행
public void init(){
System.out.println("=======================⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐동작여부확인");
}
}
10초마다 출력되는 것을 확인 할 수 있습니다.