用quartz实现自动任务执行

quartz实现自动任务执行

需求:系统里有一任务,需要定时执行
 
有一开源项目可以解决此类问题,拿来
1.       下载    到google里搜索 quartz down之
2.       加开发包quartz.jar到你的环境,至于怎么配置不多讲,自己动手。
3.       在web.xml里加入
     < servlet >
       < servlet-name > QuartzInitializer </ servlet-name >
       < servlet-class >
           org.quartz.ee.servlet.QuartzInitializerServlet
       </ servlet-class >
       < load-on-startup > 1 </ load-on-startup >
    </ servlet >
4.    编写要定时实行的代码。
小例子,你可以写的无比复杂根据你的需求
  package test.job;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class Myjob implements Job
{
    public void execute(JobExecutionContext context)
       throws JobExecutionException
    {
             System.out.println(“********* 执行了定时任务操作 *********”);
}
}
 
5 .编写 quartz_reminder.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 >
      < name > Job_myjob </ name >
      < group > DEFAULT </ group >
      < job-class > com.job.Myjob </ job-class >
    </ job-detail >
    < trigger >
      < cron >
        < name > Trigger_job </ name >
        < group > DEFAULT </ group >
        < job-name > Job_myjob </ job-name >
        < job-group > DEFAULT </ job-group >
        < cron-expression > 0 0/10 * * * ? </ cron-expression >
      </ cron >
  </ trigger >
</ job >
</ quartz >
 
设置每 10 分钟执行一次,其他设置,请搜索其写法,呵呵
 
6 .编写 quartz.properties
#
# Configure Main Scheduler Properties
#
 
org.quartz.scheduler.instanceName = TestScheduler
org.quartz.scheduler.instanceId = one
 
#
# Configure ThreadPool
#
 
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount =  5
org.quartz.threadPool.threadPriority = 4
 
#
# Configure JobStore
#
 
org.quartz.jobStore.misfireThreshold = 5000
 
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
 
# ===========================================================================
# Configure SchedulerPlugins ===============================================
# ===========================================================================
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
org.quartz.plugin.triggHistory.triggerFiredMessage = Trigger {1} . {0} fired job {6} . {5} at : {4, date, HH:mm:ss MM/dd/yyyy}
org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger {1} . {0} completed firing job {6} . {5} at {4, date, HH : mm:ss MM/dd/yyyy} with resulting trigger instruction code: {9}
 
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = /quartz_reminder.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
 
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true
 
7. quartz_reminder.xml quartz.properties 放到 WEB-INF/classes
8 OK ,启动你的应用服务器,一会查看执行结果。。。
 
over
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值