소개
Quarzt는 프로젝트에서 정기적으로 작업을 실행하는 오픈 소스 프로젝트입니다. Quartz는 작업 일정 분야의 또 다른 오픈 소스 프로젝트입니다. J2EE 및 J2SE 응용 프로그램과 결합하거나 별도로 사용할 수 있습니다. 여기서 우리는 Spring과 통합의 예를 소개합니다.
Spring은 Quarzt를 통합했기 때문에 구성하면됩니다.
JAR 패키지를 다운로드하십시오
http://www.quartz-scheduler.org/ Quarzt의 공식 웹 사이트에서 Jar 패키지를 직접 다운로드 할 수 있습니다.
Maven을 통해 건축 할 수 있습니다. 봄에 필요한 항아리를 소개하는 것을 잊지 마십시오.
<!-Quartz의 해당 종속성 소개-> <pectionency> <groupid> org.quartz-scheduler </groupid> Quartz </artifactid> <버전> 2.2.3 </dependency> <pelection> <groupid> org.quartz-scheduler> <artifactid> quartz-jobs </artifactid> <버전> 2.2.3 </버전> </의존성>
개념
작업 클래스 : 즉, 정기적으로 코드 실행이 필요한 클래스입니다.
JOBDETAIL : 작업 클래스 구성의 세부 사항, 즉 작업 클래스를 주입하고 작업 클래스를 지정하는 방법은 그 자체로 상태가 될 수있는 실행 가능한 작업입니다.
Mytrigger : 트리거는 일정 매개 변수의 구성을 나타내며 호출 시간을 구성합니다.
스케줄러 : 스케줄러 컨테이너로 많은 작업 데 테일과 트리거를 보유 할 수 있습니다. 컨테이너가 시작되면 트리거에 따라 각 JobDetail이 단계별로 자동으로 실행됩니다.
구성 방법
먼저 작업 클래스를 작성하십시오
public class myjob {public void job () {system.out.println (new simpledateformat ( "yyyy-mm-dd hh : mm : ss"). 형식 (new date ()) + ": 작업 실행"); }}그런 다음 스프링을 위해 작업 클래스의 Bean을 구성합니다.
<bean id = "myjob" />
JobDetail, Inject Task 클래스 및 작업 클래스 방법을 구성하십시오
<bean id = "jobDetail"> <!-주입 대상 객체-> <속성 이름 = "targetObject"ref = "myJob"/> <!-주입 대상 메소드-> <property name = "targetMethod"value = "job"/> </bean>
트리거를 구성하십시오
<!-트리거 구성-> <bean id = "mytrigger"> <!-작업 세부 사항을 주입하십시오 객체-> <property name = "jobDetail"ref = "jobDetail"/> <!-트리거 포인트를 주입하고 트리거 포인트를 지정하십시오-> <속성 이름 = "cronexpression"> <alue>/5 * * *? </value> // 옥수수는 다음 </property> </bean>에서 살아남을 것입니다
마지막으로 Dispatch Factory를 구성하고 구성된 트리거를 주입합니다.
<!-디스패치 공장을 구성-> <bean id = "schedulerFactoryBean"> <!-인젝트 트리거-> <속성 이름 = "triggers"> <list> <Ref bean = "mytrigger"/</list> </bean>
이 시점에서 구성이 완료되고 타이밍 작업을 수행 할 수 있습니다.
실행 결과
크론 표현
옥수수는 작업의 스케줄링 시간을 제어하는 데 사용되며 트리거에서 구성됩니다. 다음은 옥수수 발현의 기본 구문입니다. 너무 복잡해 보이면 옥수수 구문 생성기는 인터넷 http://cron.qqe2.com/에 제공됩니다. 조건을 지정하여 옥수수 표현을 자동으로 생성 할 수 있습니다.
아래는 Seven *으로 표시되는 의미입니다.
Asterisk : * 언제든지 표시 되며이 분야에 모든 법적 가치를 포함시키려는 것을 나타냅니다.
* * * * * * 는 매 순간마다 트리거 될 것임을 의미합니다.
0 * 17 * * ? : 매일 오후 5 시부 터 오후 5시 59 분까지 매분을 유발하십시오. 오후 5시 59 분에 값이 시간 영역에서 17 개, 오후 6시에 시간이 18 세가되므로 다음 날 오후 5 시까 지이 트리거를 무시합니다.
물음표 (?) :? 부호는 매일 및 주간 도메인에서만 사용할 수 있지만이 두 영역에서는 동시에 사용할 수 없습니다. 당신은 생각할 수 있습니까? 캐릭터는 "나는 현장에 어떤 가치가 있는지 상관하지 않습니다." 이것은 분야의 모든 값을 나타내는 별표와 다릅니다. ? 이 필드의 값을 지정하지 않음을 의미합니다. 이 두 필드 중 하나에 대한 값을 지정하면 A를 넣어야합니까? 다른 단어 값으로.
0 10,44 14 ? 3 WEB : 3 월 수요일마다 오후 2시 10 분과 오후 2시 44 분에 트리거됩니다.
Comma (,) : 필드에 값 목록을 지정하는 데 사용됩니다. 예를 들어, 두 번째 필드에서 0,15,30,45 값을 사용한다는 것은 15 초마다 트리거가 트리거되는 것을 의미합니다.
0 0,15,30,45 * * * ? : 트리거는 1 시간마다 트리거됩니다.
백 슬래시 (/) : (/)는 증분 시간표에 사용됩니다. 방금 15 분마다 쉼표를 사용하여 쉼표를 사용했지만 0/15로 쓸 수도 있습니다.
0/15 0/30 * * * ? : 트리거는 시간과 반점 모두에서 15 초마다 트리거됩니다.
중간 점수 (-) : 중간 점수 (-)는 범위를 지정하는 데 사용됩니다. 예를 들어, 시간 영역의 3-8은 "3, 4, 5, 6, 7 및 8 점을 의미합니다. 도메인의 값은 되감기를 허용하지 않으므로 50-10과 같은 값이 허용되지 않습니다.
0 45 3-8 ? * * :: 오전 3 시부 터 오전 4 시까 지 오전 8 시까 지 트리거되었습니다.
문자 (l) : l은 필드에서 허용되는 마지막 값을 나타냅니다. 매일 및 주간 도메인에서만 지원됩니다. 일일 도메인에 사용될 때,이 월 도메인에 지정된 달의 마지막 날을 나타냅니다. Letter L이 주에 사용되는 경우 토요일 (또는 7 번) 인 요일의 마지막 날을 나타내는 경우 숫자를 사용하여 L을 연결하여 X의 마지막 주를 나타냅니다.
0 0 8 L * ? : 매월 마지막 날 오전 8시에 촉발
0 59 23 ? * L : 매월 마지막 토요일 11시 59 분에 트리거
0 0 12 ? * 2L : 매월 마지막 월요일 트리거 (숫자는 L에 연결되어 달의 마지막 주 x를 나타냅니다)
문자 (W) : 주중 (월-프리)이며 일일 도메인에서만 사용할 수 있습니다. 지정된 날에 가장 가까운 주일을 지정하는 데 사용됩니다.
해킹 부호 ( #) : # 문자는 주변 장치 도메인에서만 사용할 수 있습니다. 지정된 달에 요일을 지정하는 데 사용됩니다. 예를 들어, 주간 필드의 값을 6 #3으로 지정하면 특정 달의 세 번째 금요일을 의미합니다 (6 = 금요일, #3은 월 3 주를 의미합니다).
예
"0012 **?" 매일 12시 정오에 "01510? **"매일 오전 10시 15 분에 시작되었습니다 "01510 **?" 매일 오전 10시 15 분에 촉발 된 "01510 **?*"매일 오전 10시 15 분에 촉발되었습니다. 2005 년 매일 매일 오전 10시 15 분에 매일 오후 2시 59 분 매일 "00/514 **?" 매일 오후 2 시부 터 오후 2 시까 지 매일 오후 2 시부 터 오후 2시 55 분까지 촉발되었습니다. "00/514,18 **?" 매일 오후 2 시부 터 오후 2 시까 지 오후 2 시부 터 오후 2시 55 분, 매일 오후 6시 55 분부터 오후 6시 55 분부터 오후 6시 55 분마다 매일 오전 2시 10 분까지 오전 2 시부 터 오후 2 시까 지 3 월 수요일 오후 2시에 오후 2시 44 분에 "010,4414? "이달 15 일 오전 15시 15 분" "01510L*?" "01510 AM" "01510?*6L"달의 마지막 금요일 오전 10시 15 분 오전 10시 15 분 "01510?*6L2002-2005"2002 년에서 2005 년의 마지막 금요일에 10:15에 오전 10 시까 지 "01510"01510?
요약
위의 내용은이 기사의 Quarzt 예약 작업에 관한 것입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!