Quartz 표현 식 소개 및 간단 한 사용

3577 단어 Java
CronTrigger
하하 하,이 블 로 그 는 최근 1024 절 을 기다 리 며 훈장 을 섞 으 러 왔 다.
전에 타 이 밍 작업 에 관 한 기능 을 했 습 니 다.Cron 표현 식 을 접 하고 이 해 를 했 습 니 다.개인 적 으로 표현 식 이 편리 하고 간결 하 다 고 생각 하기 때문에 기록 을 한 편 쓸 필요 가 있 습 니 다.
Quartz 는 자바 가 완전히 작성 한 오픈 소스 작업 스케줄 링 프레임 워 크 로 자바 응용 프로그램 에서 작업 스케줄 링 을 하 는 데 간단 하면 서도 강력 한 메커니즘 을 제공 합 니 다.Quartz 는 J2EE 와 J2SE 애플 리 케 이 션 과 결합 해서 도 단독으로 사용 할 수 있다.Quartz 는 프로그램 개발 자 들 이 시간 간격 에 따라 작업 을 스케줄 링 할 수 있 도록 허용 한다.Quartz 는 작업 과 트리거 의 다 대 다 관 계 를 실현 하고 여러 작업 을 서로 다른 트리거 와 연결 시 킬 수 있다.
Quartz 핵심 개념 Job 은 하나의 업무,실행 할 구체 적 인 내용 을 나타 낸다.이 인터페이스 에는 다음 과 같은 방법 이 하나 밖 에 없습니다.
void execute(JobExecutionContext context) 

JobDetail 은 구체 적 으로 실행 가능 한 스케줄 러 를 표시 합 니 다.Job 은 실행 가능 한 스케줄 러 가 실행 할 내용 입 니 다.또한 JobDetail 은 이 작업 스케줄 러 의 방안 과 전략 도 포함 하고 있 습 니 다.Trigger 는 스 케 쥴 러 파라미터 설정 을 대표 합 니 다.언제 바 꿀 까요?Scheduler 는 하나의 스케줄 러 용 기 를 대표 하 며,하나의 스케줄 러 용기 에 여러 개의 JobDetail 과 Trigger 를 등록 할 수 있 습 니 다.Trigger 와 JobDetail 을 조합 하면 Scheduler 용기 에 의 해 배 치 될 수 있 습 니 다.
Cron Expressions cron 의 표현 식 은 CronTrigger 인 스 턴 스 를 설정 하 는 데 사 용 됩 니 다.cron 의 표현 식 은 문자열 입 니 다.실제로 7 자 표현 식 으로 개별 디 테 일 을 설명 하 는 시간표 입 니 다.이 하위 표현 식 들 은 분 리 된 공백 입 니 다.대표:
Seconds
Minutes
Hours
Day-of-Month
Month
Day-of-Week
Year(선택 필드)
예"0 0 13?""MON"은 매주 월요일 오후 13 시 에 실 행 됩 니 다.
개별 하위 표현 식 은 범 위 를 포함 할 수 있 습 니 다.예 를 들 어 앞의 예 에서("WED")"MON-FRI","MON,WED,FRI"심지어"MON-WED,SAT"로 바 꿀 수 있 습 니 다.
"*"는 전체 시간 대 를 대표 합 니 다.
필드 마다 유효한 값 을 지정 할 수 있 는 세트 가 있 습 니 다.예 를 들 어
key
value
Seconds(초)
숫자 0-59 로 표시 할 수 있 습 니 다.
Minutes(분)
숫자 0-59 로 표시 할 수 있 습 니 다.
Hours(시)
숫자 0-23 으로 표시 할 수 있 습 니 다.
Day-of-Month(일)
숫자 1-31 의 모든 값 을 사용 할 수 있 습 니 다.
월(월)
0-11 또는 문자열 사용 가능
Day-of-Week(매주)
숫자 1-7 로 표시 하거나 문자열 로 표시 할 수 있 습 니 다.
Day-of-Month(일):특별한 달 Month(월):문자열 은"JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV and DEC"로 사용 할 수 있 습 니 다.
'/':특별 단위 로'매',예 를 들 어'0/15'는 15 분 간격 으로 한 번 씩,'0'은'0'분부 터,'3/20'은 20 분 간격 으로 한 번 씩,'3'은 3 분부 터 한 다 는 뜻 이다.
“?”:월 어느 날
"L":매달 또는 매주 에 사용 되 며 매달 의 마지막 날 또는 매달 의 마지막 요일 을 나타 낸다.예 를 들 어"6L"은"매달 의 마지막 금요일"을 나타 낸다.
"W":최근 근무일,예 를 들 어"15W"를 매월(day-of-month)필드 에 놓 으 면"이 달 15 일 까지 가장 가 까 운 근무일"이 라 고 표시 합 니 다.
'\#':매월 n 번 째 근무일 을 지정 하 는 데 사 용 됩 니 다.예 를 들 어 매주(day-of-week)이 필드 에'6\#3'또는'FRI\#3'이 라 고 적 혀 있 으 면'매월 셋째 금요일'이 라 고 적 혀 있 습 니 다.
Cron 표현 식 의 형식:초 분 일월 주년(선택 가능).
필드 이름
허용 값
허용 되 는 특수 문자
초.
0-59
, - * /
나누다
0-59
, - * /
시간.
0-23
, - * /
해.
1-31
, - * ? / L W C
월.
1-12 or JAN-DEC
, - * /
요일
1-7 or SUN-SAT
, - * ? / L C #
년(옵션 필드)
empty, 1970-2099
, - * /
“?”문자:불확실 한 값 표시
","문자:지정 한 값
"-"문자:값 의 범 위 를 지정 합 니 다.
"/"문자:값 의 증가 폭 을 지정 합 니 다.n/m 는 n 부터 매번 m 증가
"L"문자:재 일 로 한 달 중 마지막 날 을 표시 하고,주 에 해당 달의 마지막 주 X 를 표시 합 니 다.
"W"문자:주어진 날짜 와 가장 가 까 운 근무일 을 지정 합 니 다(월요일 부터 금요일 까지)
"\#"문자:이 달 몇 주 째 X 를 표시 합 니 다.6\#3 은 이 달 셋째 주 금요일
Cron 표현 식 예:
3 초 간격 으로 실행:*/3***?
1 분 간격 으로 실행:0*/1***?
매일 9 시 에 한 번 실행:009*?
매달 1 일 새벽 1 시 에 한 번 씩 실행 합 니 다.0,01,1*?
매주 일요일 새벽 1 시 에 한 번 씩:0.01?*L
매월 마지막 날 22 시 에 한 번 실행:0,22 L*?
5 분,15 분,25 분 에 한 번 실행:0,5,15,25**?
매일 0 시,13 시,18 시,21 시 에 한 번 씩 실행 합 니 다.0 0,0,13,18,21*?

좋은 웹페이지 즐겨찾기