在WEB中,Quartz使用配置文件調用

兩個配置文件,一個properties和一個xml

properties:

#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName = TestScheduler
org.quartz.scheduler.instanceId = AUTO
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
#處理的線程個數
org.quartz.threadPool.threadCount = 3
#線程優先級別,一般爲5
org.quartz.threadPool.threadPriority = 5
#============================================================================
# Configure JobStore
#============================================================================
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
#============================================================================
# Configure Plugins
#============================================================================
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileNames = jobs.xml
#如果jobs.xml中存在調度器中已經有的job,true爲覆蓋
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
#掃描jobs.xml的時間間隔
org.quartz.plugin.jobInitializer.scanInterval = 10000
org.quartz.plugin.jobInitializer.wrapInUserTransaction = false

xml:

<?xml version='1.0' encoding='utf-8'?>
<quartz xmlns="http://www.opensymphony.com/quartz/JobSchedulingData"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opensymphony.com/quartz/JobSchedulingData  
  http://www.opensymphony.com/quartz/xml/job_scheduling_data_1_5.xsd"
	version="1.5">
	<job>
		<job-detail>
			<!-- job-detail.name不能有重複,不然會執行最後一個與之相同的job -->
			<name>ScanDirectory1</name>
			<group>DEFAULT</group>
			<description>A job that scans a directory for files</description>
			<job-class>com.haso.quartz.ScanDirectoryJob</job-class>
			<volatility>false</volatility>
			<durability>false</durability>
			<recover>false</recover>
			<job-data-map allows-transient-data="true">
				<entry>
					<key>SCAN_DIR</key>
					<value>E:/Tomcat/conf</value>
				</entry>
			</job-data-map>
		</job-detail>
		<trigger>
			<cron>
				<name>cron_time</name>
				<group>DEFAULT</group>
				<job-name>ScanDirectory1</job-name>
				<job-group>DEFAULT</job-group>
				<!-- 每天15點28分執行此JOB -->
				<cron-expression>0 28 15 * * ?</cron-expression>
			</cron>
		</trigger>
	</job>

	<job>
		<job-detail>
			<name>ScanDirectory2</name>
			<group>DEFAULT</group>
			<description>A job that scans a directory for files</description>
			<job-class>com.haso.quartz.ScanDirectoryJob</job-class>
			<volatility>false</volatility>
			<durability>false</durability>
			<recover>false</recover>
			<job-data-map allows-transient-data="true">
				<entry>
					<key>SCAN_DIR</key>
					<value>E:/Tomcat/conf2</value>
				</entry>
			</job-data-map>
		</job-detail>
		<trigger>
			<simple>
				<name>scanTrigger2</name>
				<group>DEFAULT</group>
				<job-name>ScanDirectory2</job-name>
				<job-group>DEFAULT</job-group>
				<start-time>2008-09-03T14:43:00</start-time>
				<!-- repeat indefinitely every 10 seconds -->
				<repeat-count>-1</repeat-count>
				<repeat-interval>11000</repeat-interval>
			</simple>
		</trigger>
	</job>
</quartz>


package com.haso.quartz;

import java.util.Date;

import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.TriggerUtils;
import org.quartz.impl.StdSchedulerFactory;

import com.haso.utils.Utils;

public class SimpleScheduler {
	    public static void main(String[] args) 
	    {       
	         SimpleScheduler simple = new SimpleScheduler();       
	         try
	         {       
	             // Create a Scheduler and schedule the Job       
	             Scheduler scheduler = simple.createScheduler();       
//	             simple.scheduleJob(scheduler);       
	    
	             // Start the Scheduler running       
	             scheduler.start();
	             System.out.println("Scheduler started at " + Utils.dateToStr(new Date(), "yyyy-MM-dd hh:mm:ss"));
	    
	        } catch (SchedulerException ex) {       
	             ex.printStackTrace();
	        }   
	        
	    }       
	    public Scheduler createScheduler() throws SchedulerException 
	    {//創建調度器       
	        return StdSchedulerFactory.getDefaultScheduler();
	    }   
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章