用quartz实现自动任务执行

本文介绍如何使用Quartz实现定时任务执行。通过具体步骤指导如何配置环境、编写定时任务代码及配置文件,最终实现每10分钟执行一次的任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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}firedjob{6}.{5}at: {4,date,HH:mm:ssMM/dd/yyyy}
org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger{1}.{0}completedfiringjob{6}.{5}at{4,date,HH:mm:ssMM/dd/yyyy}withresultingtriggerinstructioncode:{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.xmlquartz.properties放到WEB-INF/classes
8OK,启动你的应用服务器,一会查看执行结果。。。
 
over
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值