Notice
Recent Posts
Recent Comments
Link
Tags
- framework #프레임워크 #mybatis
- bean등록Annotation#annotaion#bean등록#DIAnnotaion
- spring#형상관리#정규표현식#target
- spring#maven#스프링#메이븐
- 동적쿼리 #mybatis동적쿼리
- json #ajax #정보조회
- maven#maven환경설정#메이븐환경설정
- java면접#IT기술면접
- oracle#DB#데이터베이스 이론
- 동적쿼리if #checkbox검색#checkbox회원검색
- 트랜잭션#@Transacional#트랜잭션 bean#트랜잭션예제
- project Package생성
- 셀레니움 #selenium#셀레니움설치
- mybatis-config.xml
- Spring MVC#Spring 구조 #Spring MVC Model
- 스프링트랜잭션
- Today
- Total
HongCat 개발 스토리
8. Cron 표현식과 Scheduled 예제 본문
2019.12.13
문자열의 좌측부터 우측까지 순서대로 의미가 있고 각 문자는 space문자로 구분
10 * * * * *(*)
https://zamezzz.tistory.com/197-->블로그를 참조
필드 | 값의 허용 범위 | 사용가능 값 |
초 (Seconds) | 0 ~ 59 | , - * / |
분 (Minutes) | 0 ~ 59 | , - * / |
시 (Hours) | 0 ~ 23 | , - * / |
일 (Day) | 1 ~ 31 | , - * ? / L W |
월 (Month) | 1 ~ 12 or JAN ~ DEC | , - * / |
요일 (Week) | 1 ~ 7 or SUN ~ SAT | , - * ? / L # |
연도 (Year) |
empty or 1970 ~ 2099 |
, - * / |
● Cron 표현식 - 특수문자
- * : 모든 값을 뜻합니다.
- ? : 특정한 값이 없음을 뜻합니다.
- - : 범위를 뜻합니다. (예) 월요일에서 수요일까지는 MON-WED로 표현
- , : 특별한 값일 때만 동작 (예) 월,수,금 MON,WED,FRI
- / : 시작시간 / 단위 (예) 0분부터 매 5분 0/5
- L : 일에서 사용하면 마지막 일, 요일에서는 마지막 요일(토요일)
- W : 가장 가까운 평일 (예) 15W는 15일에서 가장 가까운 평일 (월 ~ 금)을 찾음
- # : 몇째주의 무슨 요일을 표현 (예) 3#2 : 2번째주 수요일
Cron 표현식 | 의미 |
10 * * * * * | 매일 매시간 매분 10초마다 실행 |
0 0 12 * * * | 매일 12시에 실행 |
0 15 12 * * * | 매일 12시 15분에 실행 |
0 * 14 * * * | 매일 14시에 0분 ~ 59분까지 매분 실행 |
0 0/5 12 * * * | 매일 14시에 시작해서 5분간격으로 실행 |
10/5 * 14 * * * | 매일 14시 0~59분까지 매분 10초부터 5초 간격으로 실행 |
0 0-5 14 * * * | 매일 14시 0분,1분,2분,3분,4분,5분에 실행 |
0 0-5 14,18 * * * | 매일 14시 18시 0분,1분,2분,3분,4분,5분에 실행 |
0 45 7 ? * MON-FRI | 월~금요일 7시 45분마다 실행 |
0 15 10 ? * 6L | 매월 마지막 금요일 10시 15분 |
Cron을 사용한 예제 실습
1. applicationContext.xml ->Namespace 클릭-> tx를 체크한다.
2. 아래 표시된 코드를 추가해준다.
applicationContext.xml 추가된 소스코드
<!-- 스케줄링 Annotation -->
<tx:annotation-driven/>
3. ScheduledTest.java 클래스 생성
4. ScheduledTest.java 소스코드
package org.kh.member.common;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class ScheduledTest {
@Scheduled(fixedDelay=5000)
public void scheduledTest() { //매개변수가 존재하면 안됨. 자동실행이므로 값을 넘겨줄 방법이 없음 (에러발생!)
System.out.println("스케쥴링에 의한 자동 출력문구(5초마다 출력)");
}
@Scheduled(cron="10 * * * * *")
public void scheduledTest2() {//매일 매시간 매분 10초마다 출력
System.out.println("크론탭을 이용한 자동 출력");
}
}
*스케줄링을 사용할 때 메소드에 매개변수가 존재하면 안된다! 자동으로 실행되는 메소드 이므로 매개변수 값을 넣어주게 되면 오류발생
5. 스케줄링 결과화면
'FrameWork' 카테고리의 다른 글
9. @Transaction 예제 (0) | 2019.12.13 |
---|---|
Mybatis 이클립스 환경 설정 프로젝트 파일 만들기 (0) | 2019.12.12 |
7. AOP를 이용한 비밀번호 암호화 (0) | 2019.12.11 |
Spring MVC Model 프로젝트 실습 -로그인 (0) | 2019.12.06 |
5.Spring MVC Model (0) | 2019.12.06 |
Comments