Quartz 단순 실례

더 읽 기
Quartz 스케줄 링 간단 한 사례:
전기 준비
프로젝트 에 Quartz 를 가 져 옵 니 다. 저 는 Maven 을 사 용 했 습 니 다. 코드 는 다음 과 같 습 니 다.

     org.quartz-scheduler
     quartz
     2.2.1

 다운로드 주 소 는 다음 과 같 습 니 다.http://www.quartz-scheduler.org/downloads   Maven
 http://www.quartz-scheduler.org/downloads/destination?name=quartz-2.2.1-distribution.tar.gz&bucket=tcdistributions&file=quartz-2.2.1-distribution.tar.gz  jar 패키지 직접 다운로드 주소
1. Job 작업 클래스 정의
package com.timerBin.quartz.simple;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class SimpleJob implements Job {
       private static int i=0;
       @Override
       public void execute(JobExecutionContext job) throws JobExecutionException {
          try {
	      System.err.println("  :"+i);
	      i++;
          } catch (Exception e) {
	      e.printStackTrace();
          }
       }
}

 2. 간단 한 예 호출 Quartz (기본 호출)
package com.timerBin.quartz.simple;

import java.util.Date;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.impl.JobDetailImpl;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.impl.triggers.SimpleTriggerImpl;

public class SimpleQuartz {
          public static void main(String[] args) {
               runQuartz();
          }
          public static void runQuartz(){
	       try {
			//                              Default  
			JobDetail jobDetail =  new JobDetailImpl("myJobName","myJobGroupName", SimpleJob.class);
			//       
			SimpleTriggerImpl strigger = new SimpleTriggerImpl("myTiggerName");
			//           
			strigger.setStartTime(new Date());
			//  10 
			strigger.setRepeatCount(10);
			//  2000  
			strigger.setRepeatInterval(2000);
			//    
			Scheduler scheudle = new StdSchedulerFactory().getScheduler();
			scheudle.scheduleJob(jobDetail, strigger);
			//    
			scheudle.start();
			Thread.currentThread().sleep(1000);
			//    
			System.err.println("    ");
			scheudle.shutdown();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 3. 달력 을 포함 하 는 Quartz 의 간단 한 호출 예
package com.timerBin.quartz.simple;

import java.util.GregorianCalendar;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.impl.JobDetailImpl;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.impl.calendar.AnnualCalendar;
import org.quartz.impl.triggers.SimpleTriggerImpl;
public class SimpleQuartz {
	public static void main(String[] args) {
	    runQuartz();
	}
	public static void runQuartz(){
		try {
			//                              Default  
			JobDetail jobDetail =  new JobDetailImpl("myJobName","myJobGroupName", SimpleJob.class);
			//      
			AnnualCalendar holidays = new AnnualCalendar();
			//                             
			GregorianCalendar calendar = new GregorianCalendar();
			//calendar.set(1, 2015);    
			//calendar.set(2, 1);       
			//calendar.set(5, 14);      
			//           false      true   
			 holidays.setDayExcluded(calendar, false);
			//    
			Scheduler scheudle = new StdSchedulerFactory().getScheduler();
			scheudle.addCalendar("myCalendars", holidays, false, false);
			//       
			SimpleTriggerImpl strigger = new SimpleTriggerImpl("myTiggerName");
			//        
			strigger.setCalendarName("myCalendars");
			//               
			strigger.setStartTime(calendar.getTime());
			//  10 
			strigger.setRepeatCount(10);
			//  2000  
			strigger.setRepeatInterval(2000);
			scheudle.scheduleJob(jobDetail, strigger);
			//    
			scheudle.start();
			Thread.currentThread().sleep(1000);
			//    
			System.err.println("    ");
			scheudle.shutdown();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 4. 스케줄 링 작업 상태 정 보 를 데이터베이스 에 저장
1) 스케줄 러 데이터베이스 테이블 구조 다운로드
다운로드 주소:http://www.quartz-scheduler.org/downloads/destination?name=quartz-2.2.1-distribution.tar.gz&bucket=tcdistributions&file=quartz-2.2.1-distribution.tar.gz
소재 경로: quartz - 2.2.1 \ docs \ dbTables \ \ xxxx. sql
2) 해당 데이터베이스 에서 sql 파일 실행
3) 프로젝트 의 src 경로 에서 quartz. properties 파일 을 만 듭 니 다. 내용 은 다음 과 같 습 니 다 (Mysql).
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.tablePrefix=QRTZ_
org.quartz.jobStore.dataSource=mySource
org.quartz.dataSource.mySource.driver=com.mysql.jdbc.Driver
org.quartz.dataSource.mySource.URL=jdbc:mysql://xxx.xxx.xxx.xxx:3306/test
org.quartz.dataSource.mySource.user=root
org.quartz.dataSource.mySource.password=root1234
org.quartz.dataSource.mySource.maxConnections=10
org.quartz.threadPool.threadCount=1

 구체 적 인 매개 변수 참고 주 소 는 다음 과 같다.http://www.quartz-scheduler.org/generated/2.2.1/html/qs-all/#page/Quartz_Scheduler_Documentation_Set%2Fre-data_quartz_datasource_properties.html
 
package com.timerBin.quartz.simple;

import java.util.List;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.JobKey;

public class SimpleDbQuartz {
	
	public static void main(String[] args) {
		runDbQuartz();
	}
	public static void runDbQuartz(){
             try {
		  //    
		  Scheduler scheudle = new StdSchedulerFactory().getScheduler();
		  //         
		  List list = scheudle.getJobGroupNames();
		  for(int i=0;i 
  

 5、 Spring Quartz

 

 

 

 

  

 

 

 

 

좋은 웹페이지 즐겨찾기