[Spring]_Scheduler 설정 및 사용
2022. 6. 17. 13:01ㆍ[Spring]_
728x90
반응형
목적
일정한 시간대에 원하는 함수가 실행되도록 하는 스케쥴링 작업
방안
Dispatcher-servlet 에 task:scheduler 사용
사용법
Dispatcher-Servlet 안에 실행할 함수 가 있는 클래스를 bean으로 등록
해당 클래스를 task:scheduler 를 사용하여 스케쥴링 등록
다른 방법
1. @Scheduled 어노테이션 으로 사용하는 방법
2. Spring Quartz 사용하기
설명
1. 스케쥴링 할 함수 생성
@Component
public class ScheduledJob {
public void testSchedule(){
//스케쥴 돌릴 내용
}
}
2. Dispatcher-Servlet 설정
최상단의 bean 에 해당 2줄 추가
<beans xmlns="http://www.springframework.org/schema/beans"
//생략
xmlns:task="http://www.springframework.org/schema/task"
//생략
http://www.springframework.org/schema/task/spring-task-4.2.xsd">
3. bean 추가
서비스를 돌릴 class의 경로를 적어주시면 됩니다.
<bean id="scheduleJobService" class="kr.co.yn971106.schedule.ScheduledJob" />
4. 스케쥴 등록
<task:scheduler id="testSchedule" pool-size="10" />
<task:scheduled-tasks scheduler="testSchedule">
<task:scheduled ref="scheduleJobService" method="testSchedule" cron="0 0 10 * * * *"/>
</task:scheduled-tasks>
id , scheduler, method 에는 bean으로 등록한 클래스 아래에 스케쥴링을 할 함수 이름을 적어줍니다.
ref 의 값에는 bean으로 등록시 지정한 id 값을 넣어줍니다.
cron 의 값은 Cron 표현식을 이용합니다.
위의 값은 매일 10시에 스케쥴 한다는 의미입니다.
Cron 표현식 변환 사이트
http://www.cronmaker.com/;jsessionid=node0sq2t6jgtyjtr1nn810m1se5pg1016743.node0?0
감사합니다.
728x90
반응형
'[Spring]_' 카테고리의 다른 글
[Spring]_Maven 의 Profiles 기능 구현,사용하기_(pom.xml) (0) | 2022.06.22 |
---|---|
[Spring]_HTTP 통신 개념,설명 (0) | 2022.06.21 |
[Dispatcher-Servlet]_디스패처 서블릿 이란 (0) | 2022.06.17 |
[Exception]_Spring 예외처리 (0) | 2022.06.16 |
[Spring]_Controller 파라미터 정리 (0) | 2022.06.03 |