1. 공통 인터페이스 :
1. 작업 인터페이스 :이 인터페이스에는 하나의 메소드가 있습니다.
void execute (jobExecutionContext 컨텍스트)
개발자는이 인터페이스를 구현하여 수행 해야하는 작업을 정의합니다. JobExecutionContext 클래스는 스케줄링 컨텍스트에 대한 다양한 정보를 제공합니다.
2. JOBDETAIL : 작업 구현 클래스 및 기타 정적 정보를 설명하는 데 사용됩니다.
3. 방아쇠 : 작업 실행 트리거를위한 타임 트리거 규칙 설명
4. 캘린더 : 트리거와 관련하여 트리거가 발생할 수있는 시간 공간을 정의합니다. 트리거의 실시간을 정의하지는 않지만 일반 스케줄이 트리거 트리거를 제한 해야하는 경우 사용됩니다. 대부분의 캘린더에는 항상 기본적으로 포함되며 사용자는 시간을 제외합니다.
5. 스케줄러 : 컨테이너를 실행하고 스케줄러 인스턴스를 만듭니다.
2. 코드 예 :
1. Quartz를 사용할 때는 작업 인터페이스를 구현해야합니다.
공개 클래스 TestJob 구현 작업 {public void execute (jobExecutionContext Context) jobExecutionException {System.out.println ( "Hello World! -" + new Date ()); // 더 할 일 ...}}2. 스케줄링 [비교적 간단합니다. 코드를보십시오]
public class QuartzTest {public static void main (String Args [])은 SchedulerEXception, parseException {jobDetail jobDetail = jobBuilder.newjob (testJob.class) .witHidentity ( "testJob_1", "Group_1") .Build (); 트리거 트리거 = triggerBuilder .NewTrigger () .withEdentity ( "trigger_1", "group_1") .StartNow () .withSchedule (simplescheduleBuilder.SimplesSchedule () .withIntervalinseconds (10) // time Internation.withRepeatcount (5) // repetited (6). .짓다(); SchedulerFactory SF = New StdSchedulerFactory (); 스케줄러 일정 = sf.getScheduler (); Sched.Schedulejob (JobDetail, 트리거); sched.start (); }}다음은 2.2.1 버전입니다. 공식 문서의 예를 참조하십시오. 일부 참조 책은 이전 버전으로 사용되는 것을 보았으므로 몇 가지 차이점이 있습니다. 많은 방법이 더 이상 사용되지 않았으므로 문서를 직접 읽는 것이 더 현실적입니다. Quartz의 공식 웹 사이트 주소는 다음과 같습니다. http://www.quartz-scheduler.org/
III. Quartz2.2.1 구성 파일 예제
# 기본 속성 파일 STDSCHEDULERFACTORY# Quartz 스케줄러 인스턴스를 작성하려면 다른# 속성 파일이 명시 적으로 지정되지 않은 경우## #Cluster configuration org.quartz.scheduler.instancename : defaultquartzschedulerorg.quartz.scheduler.rmi.export : falsegr.quartz.scheduler.rmi.proxy : falseorg.quartz.scheduler.wrapjobexecutioninusertranscation : false org.quartz.threadpool.class : org.quartz.simpl.simplethreadpoolorg.quartz.threadpool.threadcount : 10orgartz.threadpool.simpl.quartz. 5org.quartz.threadpool.threadsinheritContextClassLoaderOfinitializingThread : true org.quartz.jobstore.mispirethreshold : 60000 # ============================================================================== Jobstore #========================================================================================================== 구성, 메모리에 데이터 저장#org.quartz.jobstore.class : org.quartz.simpl.ramjobstore#영구 구성 org.quartz.jobstore.class : org.quartz.impl.jdbcjobstore.jobstoretxorg.quartz.jobstore.driverdelegateclass : org.quartz.impl.jdbcjobstore.stdjdbcdelegateorg.jobstore.useproperties : reat#reat heproper org.quartz.jobstore.tableprefix : qrtz_org.quartz.jobstore.datasource : qzds #======================================================================================== ==================================================================================== 데이터 소송#====================================================================================================== org.quartz.datasource.qzds.driver : com.mysql.jdbc.driverorg.quartz.datasour ce.qzds.url : jdbc : mysql : // localhost : 3306/quartzdborg.quartz.datasource.qzds.user : rotorg.quartz.datasource.qzds.password : 123456org.quartz.datasource.qzds.qzds.qzds.qzds.qzds.pord : 10
4. 데이터베이스 관련
Persistence는 해당 데이터베이스에서 사전에 석영 데이터 테이블을 작성해야합니다. Quartz 릴리스 패키지에는 Docs/DBtables에는 다른 데이터베이스에 해당하는 SQL 스크립트가 있습니다.
예를 들어, 여기에 mySQL이 있습니다 :
데이터 테이블 필드 설명 :