티스토리 뷰





반응형

이 포스팅을 보러왔다면 잡 스케쥴러에 대한 기본 지식은 있고 설정하는 방법을 찾으러 왔다는 가정하에 

간단하게 셋팅 내용만 포스팅할 예정이다.



1.servlet-context.xml 에서 task 추가하기

간단하게 Namespaces에서 체크해 추가해주자, 메이븐으로 라이브러리를 추가할 필요도 없이 스프링에 내장되어 있다.


2.어노테이션으로 설정

1
2
3
    <context:component-scan base-package="com.spring.odagada"/>
    <task:scheduler id="jobScheduler" pool-size="10"/>
    <task:annotation-driven scheduler="jobScheduler"/>
cs

servlet-context.xml에서

위와 같이 어느 패키지까지 스캔할지 범위를 지정하고 task스케쥴러를 정의한 다음 id값으로 어노테이션과 맞춰준다.


3.스케쥴러 사용하기

1
2
3
4
5
6
7
8
9
10
11
@Controller
public class CommunityController {
    @Autowired
    CommunityService service;
    
    private Logger logger = LoggerFactory.getLogger(CommunityController.class);
    
    @Scheduled(cron="0 18 10 * * *")
    public void scheduleTest() {
        logger.debug("스케쥴러 테스트중");
    }
cs

사용하려는 클래스에서 어노테이션으로 설정을 하고 내가 실행 시키고 싶은 시간을 패턴형식으로 지정하여 사용하면 된다.



CRON 크론 패턴


초    |    분 |    시 |    일 |    월 |    요일 |    연도

0~59| 0~59| 0~23| 1~31 | 1~12| 0~6    |  생략가능


요일: 0(일요일) ~ 6(토요일)

? : 설정 값 없을 때 - 일과 요일에서만 사용가능

* : 모든 조건

시작시간/단위 : 시작 시간부터 해당 단위 때

시작범위-끝범위 : 시작범위부터 끝 범위까지


L : 마지막 - 일,요일에서만 사용 가능

W : 가장 가까운 평일을 찾는다 - 일 에서만 사용 가능

ex) 10W

-10일이 평일일 때 : 10일에 실행

-10일이 토요일일 때 : 가장 가까운 평일인 금요일(9일)에 참

-10일이 일요일일 때 : 가장 가까운 월요일에 참


# : 몇주 째인지 찾는다 - 요일에서만 사용가능

ex)3#2 : 수요일#2째주에 참


1) 매월 10일 오전 11시에 실행

0 1 1 10 * *


2) 매일 오후 2시 5분 0초에 실행

0 5 14 * * *


3) 10분마다 실행

0 0/10 * * *


4)조건에서만 실행 10분 0초, 11분 0초 ~ 15분 0초까지 실행

0 10-15 * * *






출처:https://sun-p.tistory.com/115

출처:http://webprogramer.kr/blog/P000000289/post.do









반응형

'Back-end > Spring' 카테고리의 다른 글

Spring 오브젝트와 의존관계  (0) 2019.05.28
스프링 코어#1 (DI)  (0) 2019.05.18
AJAX 사용 시 데이터가 깨지는거 잡아주는 거  (0) 2019.03.07
Spring 파일 다운받기  (0) 2019.03.02
Spring WEB Socket  (2) 2019.02.24
댓글
반응형
최근에 달린 댓글
글 보관함
Total
Today
Yesterday
최근에 올라온 글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31