定时任务 Quartz调度(采用配置文件)
2010-04-02 12:13
337 查看
采用配置文件方式的Quartz调度:
1、所需的第三方包
commons-beanutils.jar
commons-collections-3.2.jar
commons-digester.jar
commons-logging.jar
jta.jar
quartz.jar
2、自定被调度的Job
package com.allen;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class MyJob implements Job {
/**
* 需要定时调度的方法
*/
public void execute(JobExecutionContext arg0) throws JobExecutionException {
System.out.println("我是被定时调度的方法啊,当前时间为:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SS").format(new Date()));
}
}
3.在 web.xml加入: <servlet>
<servlet-name>QuartzInitializer</servlet-name> <servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
<init-param>
<param-name>shutdown-on-unload</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>config-file</param-name>
<param-value>quartz.properties</param-value>
</init-param> <load-on-startup>1</load-on-startup>
</servlet> 4.在classes的目录下建立quartz.properties
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName = QuartzScheduler
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 1000
#org.quartz.threadPool.threadPriority = 5
#============================================================================
# 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.fileName = quartz_jobs.xml
#org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
#org.quartz.plugin.jobInitializer.failOnFileNotFound = true 5.在classes的目录下建立quartz_jobs.xml
<?xml version='1.0' encoding='utf-8'?>
<quartz>
<job>
<job-detail>
<name>test</name>
<group>DEFAULT</group>
<description>testJobhere</description>
<job-class>com.allen.MyJob</job-class> </job-detail>
<trigger>
<cron>
<name>testTrigger</name>
<group>DEFAULT</group>
<job-name>test</job-name>
<job-group>DEFALUT</job-group>
<cron-expression>0/5 * * * * ?</cron-expression>
</cron>
</trigger>
</job>
</quartz> 6.用main方法测试: public class QuartzTest { public static void main(String[] args) {
// TODO 自动生成方法存根
QuartzTest q=new QuartzTest();
try {
q.startScheduler();
} catch (SchedulerException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
protected void startScheduler() throws SchedulerException {
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
JobDetail jobDetail =new JobDetail("testJob", Scheduler.DEFAULT_GROUP, MyJob.class);
//结束时间
long end = System.currentTimeMillis() + 9000L;
//执行10次,每3秒执行一次,到9秒后结束
SimpleTrigger trigger = new SimpleTrigger("test",null,new Date(),new Date(end),10,3000L);
scheduler.scheduleJob(jobDetail, trigger);
scheduler.start();
}
} 7.在应用服务器中发布,就可以在console看到调度 常用示例:
0 0 12 * * ? | 每天12点触发 |
0 15 10 ? * * | 每天10点15分触发 |
0 15 10 * * ? | 每天10点15分触发 |
0 15 10 * * ? * | 每天10点15分触发 |
0 15 10 * * ? 2005 | 2005年每天10点15分触发 |
0 * 14 * * ? | 每天下午的 2点到2点59分每分触发 |
0 0/5 14 * * ? | 每天下午的 2点到2点59分(整点开始,每隔5分触发) |
0 0/5 14,18 * * ? | 每天下午的 2点到2点59分(整点开始,每隔5分触发) 每天下午的 18点到18点59分(整点开始,每隔5分触发) |
0 0-5 14 * * ? | 每天下午的 2点到2点05分每分触发 |
0 10,44 14 ? 3 WED | 3月分每周三下午的 2点10分和2点44分触发 |
0 15 10 ? * MON-FRI | 从周一到周五每天上午的10点15分触发 |
0 15 10 15 * ? | 每月15号上午10点15分触发 |
0 15 10 L * ? | 每月最后一天的10点15分触发 |
0 15 10 ? * 6L | 每月最后一周的星期五的10点15分触发 |
0 15 10 ? * 6L 2002-2005 | 从2002年到2005年每月最后一周的星期五的10点15分触发 |
0 15 10 ? * 6#3 | 每月的第三周的星期五开始触发 |
0 0 12 1/5 * ? | 每月的第一个中午开始每隔5天触发一次 |
0 11 11 11 11 ? | 每年的11月11号 11点11分触发(光棍节) |
相关文章推荐
- 定时任务 Quartz调度(采用配置文件)
- 定时任务 Quartz调度(采用配置文件)
- Spring配置quartz定时调度任务
- Spring与Quartz集成配置实现简单定时任务调度
- [BAT][JAVA]定时任务之-Quartz使用篇(通过这个配置可以知道在做Quartz的时候需要的jar文件/Cron表达式使用语法/常用Cron表达式)
- Quartz任务调度简介--浅谈QuartzProperties配置文件
- Quartz实现定时任务的配置方法(纯java作业调度框架)
- Spring配置Quartz实现定时调度任务
- Spring Quartz定时调度任务配置
- Spring 配置Quartz 定时任务调度服务
- Quartz.NET 2.0 学习笔记(3) :通过配置文件实现任务调度
- Quartz.NET 通过配置文件实现任务调度
- Java定时框架Quartz实例详解与定时任务的Mongodb、Mysql持久化实现(二)Quartz配置文件
- Quartz+Spring 分布式定时任务调度(二)- 集群配置
- Quartz.NET 2.0 学习笔记(3) :通过配置文件实现任务调度
- spring和quartz整合实现定时任务(配置文件配置方式
- quartz 定时调度持久化数据库配置文件
- Quartz.NET 2.0 学习笔记(3) :通过配置文件实现任务调度
- quartz任务调度框架实现任务定时执行,不传参的配置(一)
- Quartz.NET 任务调度配置文件说明