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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring에서 Quartz를 사용하여 작업 스케줄링선언: Spring에서 Quartz를 사용하는 방법은 두 가지가 있는데 하나는 특정한 기류를 계승하는 것이다: org.springframework.scheduling.quartz.QuartzJobBean, 다른 하나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.