quartz简单实现

quartz介绍

  在我们的项目中,经常会遇到某个任务需要在特定的时间点执行,这个时间点可能是每天的某分某秒,可能是一周的指定某个星期某个时间等;quartz就是实现这样一个复杂任务调度逻辑的框架。

  官方介绍:http://www.quartz-scheduler.org/

quartz实现

  quartz实现比较简单。

  1. Ijob接口实现

    public interface IJob     {         void Execute(IJobExecutionContext context);     }

  2. 配置调度策略

    

<?xml version="1.0" encoding="UTF-8"?>

<!-- This file contains job definitions in schema version 2.0 format -->

<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">

  <processing-directives>
    <overwrite-existing-data>true</overwrite-existing-data>
  </processing-directives>

  <schedule>
    <job>
        <!--任务名称-->
        <name>JobTest</name>
        <!--任务分组-->
        <group>Test</group>
        <description>元叹测试quartz</description>
        <!--任务命名控件.类名,类名-->
        <job-type>QuartzTest.JobTest, QuartzTest</job-type>
        <durable>true</durable>
        <recover>false</recover>
    </job>
    <trigger>
      <!--简单模式,隔一段时间执行一次,可配执行次数-->
      <simple>
        <!--调度名称-->
        <name>sampleSimpleTrigger</name>
        <!--调度分组-->
        <group>simplegroup</group>
        <!--调度描述-->
        <description>Simple trigger to simply fire sample job</description>
        <!--作业名称,job节点对应名称-->
        <job-name>JobTest</job-name>
        <!--作业分组,job节点对应分组-->
        <job-group>Test</job-group>
        <misfire-instruction>SmartPolicy</misfire-instruction>
        <!--重复执行次数,执行次数=此值+1-->
        <repeat-count>2</repeat-count>
        <!--执行间隔时间,毫秒单位-->
        <repeat-interval>2000</repeat-interval>
      </simple>
      <cron>
        <name>TestJobTrigger</name>
        <group>Test</group>
        <job-name>JobTest</job-name>
        <job-group>Test</job-group>
        <!--开始调度时间,大于当前时间忽略-->
        <start-time>2015-11-26T22:19:00+08:00</start-time>
        <!--cron表达式-->
        <cron-expression>0/3 * * * * ?</cron-expression>
      </cron>
    </trigger>
  </schedule>
</job-scheduling-data>

  

时间: 2024-10-28 17:03:26

quartz简单实现的相关文章

Quartz简单实例

依赖: 看一下整体结构: 首先定义Job public class HelloJob implements Job { private static Logger _log = LoggerFactory.getLogger(HelloJob.class); public HelloJob() { } public void execute(JobExecutionContext context) throws JobExecutionException { // Say Hello to th

springmvc+quartz简单实现定时调度

一.简介:Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序.Jobs可以做成标准的Java组件或 EJBs.Quartz的最新版本为Quartz 2.3.0. 二.因为定时调度,在很多业务上面都会涉及,想要根据自己的规则来生成自己想要的达到的目的.所以利用quartz来时间定时任务的触发.是非常有必要的. 三.

Quartz简单理解

这是我自己的百度文库的资料 Quartz核心的概念:scheduler任务调度.Job任务.Trigger触发器.JobDetail任务细节 Job任务:其实Job是接口,其中只有一个execute方法 JobDetail:任务细节,Quartz执行Job时,需要新建个Job实例,但是不能直接操作Job类,所以通过JobDetail来获取Job的名称.描述信息. Trigger触发器:执行任务的规则:比如每天,每小时等. 一般情况使用SimpleTrigger,和CronTrigger,这个触发

spring:quartz 简单例子

建立一个时序调度程序的过程如下: 1) 配置Job及JobDetail Bean,定义执行某个类里的特定方法: 2) 配置Trigger Bean,定义触发JobDetail的时间规律: 3) 配置SchedulerFactoryBean负责调度实际的Trigger:时序调度的运行模式有两种: 1) 一种是在某个特定时间自动运行,例如每天凌晨2点备份数据.每月初1号统计上月的数据等,我们称之为定时调度: 2)另一种是在服务启动一段时间后开始运行,再每隔一段时间再次运行,如系统监控程序每个10分钟

Quartz简单使用

官方的Quartz会提供例子的,例子看个前三四个感觉就够用了,主要就是起Timer的作用,但是比timer稳定,而且功能更全. UpdateClientTimer.task(ClearJob.class, GlobalVars.CLEAR_MAP_TIMER); 一个反射的参数和一个Quartz表达式,这个表达式功能很强大 public static void task(Class cls, String expression) throws SchedulerException { Sched

定时执行程序-Quartz简单实例

1.加jar包:Quartz自己quartz-1.8.3.jar和依赖包commons-logging.jar  .slf4j-log4j12-1.5.10.jar .slf4j-api-1.5.10.jar 2.一个类搞定!!!,直接run import  org.quartz.CronTrigger; import  org.quartz.Job; import  org.quartz.JobDetail; import  org.quartz.JobExecutionContext; im

OA现金盘源码搭建与Quartz简单使用

一. 什么是Quartz?简介: 定时任务调度的框架, 可以在框架中放入很多个应用程序(重点关注的是应用程序的编写) OA现金盘源码搭建QQ:2152876294 网址diguaym.com使用场景: 闹钟账单提醒核心概念 scheduler(SchedulerFactoryBean)是一个计划调度器容器,容器里面可以盛放众多的JobDetail和trigger,当容器启动后,里面的每个JobDetail都会根据trigger按部就班自动去执行.Trigger(CronTriggerFactor

Quartz初识以及简单运用

1.初识Quartz 1.1.概述 Quartz是一个完全由Java编写的一个开源的任务调度框架,说的简单点就是开发人员可以通过Quartz根据时间间隔调度任务,例如: 每隔一小时命令程序执行一个任务 每个月命令程序执行一个任务 指定某月末日命令程序执行一个任务 -- Quartz下载地址:http://www.quartz-scheduler.org/downloads/ 1.2.Quartz API 1.2.1.Scheduler--与scheduler交互的主要API; Scheduler

ASP.NET MVC5+EF6+EasyUI 后台管理系统(84)-Quartz 作业调度用法详解一

前言 我从Quartz2.0开始使用,并对其进行了封装了界面,可以参考 http://www.cnblogs.com/ymnets/p/5065154.html 最近拿出来进行了优化,并升级到最新版,温故而知新嘛 当初教程较少,并且是英文,现在很多地方都有中文的教程也是学习起来事半功倍 Quartz能实现什么? 他类似于SQL Server的代理与Timer定时器: 1.指定时间执行一条SQL语句或存储过程 2.指定时间发送邮件(执行一个C#方法) 3.有规律的定时执行想要做的事情(通过配置Cr