1. servlet-context.xml 에 <task:annotation-driven> 추가( 어노테이션으로 태스크를 적용해서 스프링이 관리하라는 의미.)
2. 스프링이 관리하고 있는 클래스(아래는 @Service 어노테이션이 적용된 클래스의 메소드이다.)안의 태스크로 적용할 메소드에 @Scheduled 어노테이션을 추가한다.
그러면 태스크로 등록된 것이다.( 이 메소드가 주기적으로 실행 되는 것이다.)
@Scheduled 어노테이션의 속성
- cron = "초 분 시 월 년 요일" : cron = "1 * * * * ?" 하면 매 1초가 될 때마다 실행한다는 의미.
- fixedDelay = 3 : 태스크 실행 후에 지정한 31초 동안 대기하고, 다시 태스크를 호출한다.
- fixedRate = 3 : 3초마다 태스크 호출.
3. 결과
현재 위 메소드는 매 1초가 될 때마다 수행되도록 되어있다. 그런데 메소드의 실행시간이 약 9초가 소요되기 때문에 실제로는 9~10초에 수행이 완료 되는 것을 확인할 수 있다. (물론 메소드 시작하자마자 현재시간을 출력했다면 매 1초가 될 때마다 콘솔에 찍혔을 것이다.)
'웹 개발(OLD) > Spring Framework(OLD)' 카테고리의 다른 글
jqGrid (0) | 2016.06.18 |
---|---|
JAVA Object, JSON 변환 (GSON 라이브러리) (0) | 2016.05.19 |
Spring AOP (0) | 2016.04.15 |
Spring Transaction 처리 (0) | 2016.04.15 |
Spring MVC 원리 (6) | 2016.04.11 |