简单的quartz定时任务的web应用
来源:互联网 发布:唐嫣演技知乎 编辑:程序博客网 时间:2024/06/06 17:59
quartz 官网:http://www.quartz-scheduler.org/
首先去官网下载 quartz-xxx.tar.gz 解压
我用的quartz-1.8.6.版本,英语好的人可以自己看文档学习
首先新建web工程,加入jar包
其中jta-1.1.jar自己上网上下载
然后再src下新建java类继承Job类
如:HelloQuartz.java
package quartz;import java.util.Date;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;/* * Job接口包含唯一方法execute(),将任务逻辑添加到该方法中 */public class HelloQuartz implements Job { public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("Hello, Quartz! "+ new Date() ); }}
第二步写配置文件quartz.properties,放在src下:
org.quartz.scheduler.instanceName = QuartzScheduler org.quartz.scheduler.instanceId = AUTOorg.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPoolorg.quartz.threadPool.threadCount = 3org.quartz.threadPool.threadPriority = 5org.quartz.jobStore.misfireThreshold = 60000org.quartz.jobStore.class = org.quartz.simpl.RAMJobStoreorg.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPluginorg.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.XMLSchedulingDataProcessorPluginorg.quartz.plugin.jobInitializer.fileNames = quartz_jobs.xmlorg.quartz.plugin.jobInitializer.failOnFileNotFound = trueorg.quartz.plugin.jobInitializer.scanInterval =10org.quartz.plugin.jobInitializer.wrapInUserTransaction = falseorg.quartz.scheduler.skipUpdateCheck = true
其中jobInitializer.fileNames放的是定时任务的一些配置
第三部新建quartz_jobs.xml,配置定时任务
<?xml version="1.0" encoding="UTF-8"?><job-scheduling-data xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd" version="1.8"> <schedule> <job> <name>hello_job</name> <group>DEFAULT</group> <description> this is Hello...... </description> <job-class>quartzWebs.HelloQuartz</job-class> </job> <trigger> <cron> <name>hello_job_trigger</name> <job-name>hello_job</job-name> <cron-expression>0/5 * * * * ?</cron-expression> </cron> </trigger> </schedule> </job-scheduling-data>
最后一步配置web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <!-- <servlet> <servlet-name>quartz</servlet-name> <servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class> <init-param> <param-name>config-file</param-name> <param-value>/quartz.properties</param-value> </init-param> <init-param> <param-name>shutdown-on-unload</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>start-scheduler-on-load</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> --> <context-param> <param-name>config-file</param-name> <param-value>/quartz.properties</param-value> </context-param> <context-param> <param-name>shutdown-on-unload</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>start-scheduler-on-load</param-name> <param-value>true</param-value> </context-param> <listener> <listener-class> org.quartz.ee.servlet.QuartzInitializerListener </listener-class> </listener></web-app>
两种方法都可以
启动Tomcat 看控制台打印
附:
/* * "30 * * * * ?" 每半分钟触发任务"30 10 * * * ?" 每小时的10分30秒触发任务"30 10 1 * * ?" 每天1点10分30秒触发任务"30 10 1 20 * ?" 每月20号1点10分30秒触发任务"30 10 1 20 10 ? *" 每年10月20号1点10分30秒触发任务"30 10 1 20 10 ? 2011" 2011年10月20号1点10分30秒触发任务"30 10 1 ? 10 * 2011" 2011年10月每天1点10分30秒触发任务"30 10 1 ? 10 SUN 2011" 2011年10月每周日1点10分30秒触发任务"15,30,45 * * * * ?" 每15秒,30秒,45秒时触发任务"15-45 * * * * ?" 15到45秒内,每秒都触发任务"15/5 * * * * ?" 每分钟的每15秒开始触发,每隔5秒触发一次"15-30/5 * * * * ?" 每分钟的15秒到30秒之间开始触发,每隔5秒触发一次"0 0/3 * * * ?" 每小时的第0分0秒开始,每三分钟触发一次"0 15 10 ? * MON-FRI" 星期一到星期五的10点15分0秒触发任务"0 15 10 L * ?" 每个月最后一天的10点15分0秒触发任务"0 15 10 LW * ?" 每个月最后一个工作日的10点15分0秒触发任务"0 15 10 ? * 5L" 每个月最后一个星期四的10点15分0秒触发任务"0 15 10 ? * 5#3" 每个月第三周的星期四的10点15分0秒触发任务 */
配置文件里 0/5 * * * * ?里的参数配置。
简单说到这,有什么疑问可以评论 有用的顶下
1 0
- 简单的quartz定时任务的web应用
- quartz 简单的定时任务
- spring+Quartz+maven 简单的定时任务
- spring+Quartz+maven 简单的定时任务
- quartz的定时任务
- 开发一个简单的web应用定时任务
- java定时框架Quartz的简单应用
- Quartz和Spring Task定时任务的简单应用和比较
- 一个最简单的定时任务Quartz的例子
- 一个最简单的定时任务Quartz的例子
- 一个最简单的定时任务Quartz的例子
- quartz定时执行任务,并配置web.xml的操作方法
- spring的quartz定时任务
- quartz的定时调度任务
- quartz定时任务的使用
- 定时任务,quartz的demo
- java项目中定时任务之Quartz的应用
- SpringMVC整合Quartz实现定时任务---简单的例子
- 欢迎使用CSDN-markdown编辑器
- C语言中strlen求字符串长度,求字符数组长度(空字符,数字0,字符0,数组部分初始化)
- Android仿京东筛选
- WebSocket通信
- Matlab调试功能详解
- 简单的quartz定时任务的web应用
- yield
- xUtils的使用(二)
- Eclipse编译时保留方法的形参
- clientWidth offsetWidth scrollWidth区别
- Linux笔记
- linux hadoop集群简单几步完成SSH配置
- oracle
- Oracle普通表->分区表转换(9亿数据量)