반응형
프로젝트에서 배치 돌려야 할 경우가 자주 발생 한다. SpringFrameWork에서 제공하는 @Scheduled 를 사용하면 원하는 시간대에 특정 서비스를 동작시킬 수 있다.
먼저, 아래와 같이 context 설정 파일에 scheduler를 등록한다.
1
2
3
4
5
6
|
<context:component-scan base-package="com.test.schedule"></context:component-scan>
<task:scheduler id="taskScheduler"/>
<task:executor id="taskExecutor" pool-size="5" />
<task:annotation-driven executor="taskExecutor" scheduler="taskScheduler" />
|
cs |
그리고 com.test.schedule 패키지에 java파일 하나 만들고, @Service와 @Scheduled 어노테이션을 써서 서비스를 등록한다.
1
2
3
4
5
6
7
8
|
@Service
public class ScdMain {
@Scheduled(cron = "0 5 18 * * ?")
public void task() throws Exception{
// To Do ..
}
}
|
cs |
위의 서비스는 매일 18시 05분에 실행될 것이다.
주기설정 :
- 초 : 0
- 분 : 0-59
- 시 : 0-23
- 일 : 1-31
- 월 : 1-12
- 요일 : 0-6(0:일요일, 6: 토요일)
위의 cron = "0 5 18 * * ?" 가 매일 18시 05분 를 뜻한다.
반응형
'개발 이야기 > Springboot' 카테고리의 다른 글
[Kotlin] Springboot + Redis 사용법 (0) | 2020.04.26 |
---|---|
[Kotlin] Springboot + Mybatis 사용법 (0) | 2020.03.28 |
[Kotlin] Springboot에서 MySQL + JPA 사용법 (0) | 2020.02.23 |
[Kotlin] Springboot + Gradle 시작하기 (0) | 2020.02.22 |
Spring_Annotataion이란? (0) | 2018.10.03 |