낭만 프로그래머
Spring MVC 5 에서 Spring Scheduler 사용하기 본문
Spring MVC 5에서 Scheduler를 사용해 보려고 task:annotation-driven 을 xml에 사용해 보았으나 동작을 하지 않았다.
이유를 찾아 보려 했지만 실패했다. 그래서 자바소스에 어노테이션으로 작업하였더니 돌아간다. ㅎㅎ
XML 설정 파일
...
<!-- Annotation -->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- Base package -->
<context:component-scan base-package="com.company.frmm.scheduler"></context:component-scan>
...
Scheduler 파일
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
@EnableScheduling
public class FrmmScheduler {
@Scheduled(fixedDelay=10000)
public void init() {
System.out.println("동작여부 확인");
}
}
Config 파일
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.setThreadNamePrefix("frmm-scheduled-task-pool-");
threadPoolTaskScheduler.initialize();
scheduledTaskRegistrar.setTaskScheduler(threadPoolTaskScheduler);
}
}
'Java > Spring' 카테고리의 다른 글
Spring MVC 5와 Javascript를 이용한 파일(File) 다운로드(Download) (0) | 2021.12.27 |
---|---|
Spring + Mybatis에서 트랜젝션(Transaction) 처리 (0) | 2021.12.06 |
Intellij에 Spring MVC 5 설치하기 (0) | 2021.09.28 |
Spring Boot 기본 세팅 (DB + Mybatis + Log4j2) (0) | 2020.11.04 |
JSP에서 Invalid character 관련하여 400 에러가 발생시 (0) | 2020.04.14 |