봄에 석영 구성 과정 :
1. JAR 패키지 가져 오기
Quartz가 요구하는 JAR 패키지는 이미 스프링 감압 후 디렉토리의 Quartz-All-1.6.1.jar 아래 /lib /quartz에 위치한 봄에 이미 포함되어 있습니다.
프로젝트의 웹 -INF/LIB에 복사하십시오.
2. 스프링이 시작될 때 쿼츠 구성 파일을로드하도록 web.xml 구성
<? xml version = "1.0"encoding = "utf-8"?> <web-app version = "2.5"xmlns = "http://java.sun.com/xml/xml/ns/javaee"xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance. xsi : schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <conteparaM>> <Param-Name> ContextConfigLocation </param-name> <param-value> classpath : 응용 프로그램-*. xml </param- value> </context-param> <!-스프링 듣기-> <layer-class> org.sprameframework.web.context.contexterlistener </web-applass> </web-applass>
3. 쿼츠 구성 파일 쓰기 : Application-Quartz.xml 실제로 이러한 구성은 다른 스프링 구성 파일로 작성할 수 있습니다.
<? xml 버전 = "1.0"alcoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans"xmlns : xsi = "http://ww.w.w3.org/2001/xmlschema-instance" xmlns : aop = "http://www.springframework.org/schema/aop"xmlns : tx = "http://www.springframework.org/schema/tx"xsi : schemalocation = "http://www.springframwork.org/schema/schema/schemas http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.spramework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.spramework.org/schema/tx-tx-2.5.xsd "! id = "testTaskbean" /> <!-시간이 지정된 업데이트 정책 작업 방법-> <bean id = "testtasktimermethod"> <속성 이름 = "targetObject"ref = "testTaskbean" /> <!-구성 타이밍 실행을위한 대상 메드 메소드 이름-> <속성 이름 = "targetMethod"value = "executeAction"-<value = "" "" "" "" "" "" "" "" 시간이 지정된 업데이트 정책 트리거-> <bean id = "testtasktrigger"> <property name = "jobDetail"ref = "syncPolicyTaskTimerMeThod" /> <!-0th 2의 3 분마다 실행됩니다.> <속성 이름 = "cronexpression"value = "0/3 * * *?" /> </bean> <!-사용자 정의 작업 목록-> <bean id = "scheduler"> <property name = "triggers"> <list> <ref bean = "testtasktrigger"/> </list> </property> </bean> </beans>
4. 작업을 실행하는 Java Class TestTask를 작성하십시오
패키지 com.jp.task; import org.quartz.jobexecutionContext; import org.quartz.jobexecutionException; org.springframework.scheduling.quartz.quartzjobbean; Public Class TestTask는 QuartzJobbean {logger logger.getLogger (PolicyServicetest.class); public void executeAction () {log.info ( "hello Quartz"); } @override protected void executeInternal (jobExecutionContext arg0)은 JobExecutionException {}} 던지기 5. 모든 작업이 준비되고 실행됩니다. 기본적으로 오류가보고되었습니다. Nosuchmethod 오류에 관한 것입니다.
이것은 저 버전의 Commons-Collections.jar 때문입니다. Commons-Collections-3.2.jar 이상.
현재, 당신은 프로젝트에서 Commons-Collections-3.2.jar를 찾고 있습니다. 무슨 일이야? 다시 찾으면 Commons-Collections-2.1.1.jar가 있습니다.
Commons-Collections-2.1.1.jar 만 삭제하십시오.
추신 : cronexpression-- Cron 표현 설명
CRON 트리거는 다음과 같이 일련의 특수 문자를 사용합니다.
백 슬래시 (/) 문자는 증분 값을 나타냅니다. 예를 들어, 초 필드 "5/15"는 15 초마다 한 번씩 5 초부터 시작하는 것을 의미합니다.
물음표 (?) 문자 및 문자 L 문자는 월 및 주일 필드 날짜에만 사용할 수 있습니다. 물음표는이 필드에 특정 값이 포함되어 있지 않음을 나타냅니다. 따라서 한 달 이내에 날짜를 지정하면 "?" 일주일 이내의 날짜에 일주일 내의 날짜 값이 중요하지 않다는 것을 나타냅니다. 문자 L 캐릭터는 마지막의 약어입니다. 이를 intramonth 날짜 필드에 넣으면 월의 마지막 날에 처형 될 예정입니다. 틀린 날짜 필드에서 "l"이 단독으로 존재하는 경우 "7"과 같으며 그렇지 않으면 월의 틀린 날짜의 마지막 사례를 나타냅니다. 따라서 "0L"은 그 달의 마지막 일요일에 처형 될 예정임을 의미합니다.
달의 날짜 필드의 문자 (w) 문자는 지정된 값에 가장 가까운 근무일까지 실행을 예약합니다. 달 날짜 필드에 "1W"를 넣으면 실행이 월의 첫 근무일 내에 예정되어 있음을 의미합니다.
파운드 부호 (#) 문자는 주어진 달의 특정 근무일 인스턴스를 지정합니다. 틀린 데이트 필드에 "월#2"를 넣는다는 것은 월 두 번째 월요일에 작업을 예약하는 것을 의미합니다.
별표 (*) 문자는 필드가 가능한 모든 값을 받아 들일 수 있음을 의미하는 와일드 카드 문자입니다.
필드가 허용 할 수있는 특수 문자 :
0-59 초, - * /
0-59, - * /
시간 0-23, - * /
날짜 1-31, - *? / lwc
1-12 개월 또는 Jan-Dec,- * /
1-7 주 또는 Sun-Sat,- *? / LC #
연도 (선택 사항) Blank, 1970-2099, - * /
표현 의미
"0 0 12 * *?" 매일 12시 정오에 촉발되었습니다
"0 15 10? * *"매일 오전 10시 15 분에 촉발
"0 15 10 * *?" 매일 오전 10시 15 분에 촉발되었습니다
"0 15 10 * *? *"오전 10시 15 분에 매일 트리거
"0 15 10 * *? 2005"2005 년 매일 오전 10시 15 분에 촉발
"0 * 14 * *?" 오후 2시에서 오후 2시 59 분 사이에 1 분마다 트리거됩니다
"0/5 14 * *?" 매일 오후 2시에서 오후 2시 55 분 사이에 5 분마다 촉발되었습니다.
"0/5 14,18 * *?" 오후 2시 55 분에서 오후 6시 55 분에서 오후 6시 55 분, 5 분 사이에 5 분마다 5 분마다 촉발되었습니다.
"0-5 14 * *?" 매일 오후 2시에서 오후 2시 5 분 사이에 1 분마다 촉발되었습니다.
"0 10,44 14? 3 Wed"매주 수요일 오후 2시 10 분과 오후 2시 44 분에 방아쇠
"0 15 10? * Mon-Fri"월요일부터 금요일까지 오전 10시 15 분부터 촉발
"0 15 10 15 *?" 매월 15 일 오전 10시 15 분에 촉발
"0 15 10 L *?" 매월 마지막 날 오전 10시 15 분에 촉발
"0 15 10? * 6L"매월 마지막 금요일 오전 10시 15 분에 촉발되었습니다.
"0 15 10? * 6L 2002-2005"2002 년부터 2005 년까지 매월 마지막 금요일 오전 10시 15 분에 촉발
"0 15 10? * 6#3"매월 셋째 금요일 오전 6시에 매일 오전 10시 15 분에 트리거
0 6 * * *
2 시간마다
0 */2 * * *
오후 11시에서 오전 8시, 오전 8시 사이에 2 시간마다
0 23-7/2, 8 * * * *
매월 4 일, 월요일부터 수요일마다 오전 11시에
0 11 4 * 1-3
1 월 1 일 오전 4시
0 4 1 1 *