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>

  3. 动态编程实现调度

        ISchedulerFactory schedf = new StdSchedulerFactory();
IScheduler sched = schedf.GetScheduler(); IJobDetail jobDetail = JobBuilder.Create<JobTest>().Build(); IJobDetail jobDetail2 = JobBuilder.Create<JobTest2>().Build(); ITrigger simpleTrigger = (ISimpleTrigger)TriggerBuilder.Create().WithSimpleSchedule(x => x.WithIntervalInSeconds(2).WithRepeatCount(5)).Build(); ITrigger crontrigger = (ICronTrigger)TriggerBuilder.Create().WithCronSchedule("0/5 * * * * ? ").Build(); sched.ScheduleJob(jobDetail, crontrigger); sched.ScheduleJob(jobDetail2, simpleTrigger); sched.Start();

quartz简单实现的更多相关文章

  1. Java调度框架Quartz简单示例

    Quartz的大名如雷贯耳,这里就不赘述,而且本文也不作为深入探讨,只是看完Quartz的官方文档后,下个简单示例,至少证明曾经花了点时间学习过,以备不时之需. Quartz使用了SLF4J,所以至少 ...

  2. Quartz学习——Quartz简单入门Demo(二)

    要学习Quartz框架,首先大概了解了Quartz的基本知识后,在通过简单的例子入门,一步一个脚印的走下去. 下面介绍Quartz入门的示例,由于Quartz的存储方式分为RAM和JDBC,分别对这两 ...

  3. springmvc+quartz简单实现定时调度

    一.简介:Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十 ...

  4. Quartz简单案例

    需求需要开发一个每天定时推送消息给微信用户,第一次接触quartz,简单案例 1. 先编辑要执行的任务 测试类代码 package com.wqq.test.quartz; import org.sp ...

  5. Quartz简单实现定时任务管理(SSM+Quartz)

    首先你得有一个用Maven搭好的SSM框架,数据库用的Mysql,这里只有关于Quartz的部分.其实有大神总结的很好了,但做完后总有些地方不一样,所以写这篇作为笔记.这里先把大神的写的分享给大家:h ...

  6. Spring-boot+Spring-batch+hibernate+Quartz简单批量读文件写数据用例

    本文程序集成了Spring-boot.Spring-batch.Spring-data-jpa.hibernate.Quartz.H2等.完整代码在Github上共享,地址https://github ...

  7. quartz 简单定时器

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  8. Quartz简单使用

    官方的Quartz会提供例子的,例子看个前三四个感觉就够用了,主要就是起Timer的作用,但是比timer稳定,而且功能更全. UpdateClientTimer.task(ClearJob.clas ...

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

    1.加jar包:Quartz自己quartz-1.8.3.jar和依赖包commons-logging.jar  .slf4j-log4j12-1.5.10.jar .slf4j-api-1.5.10 ...

随机推荐

  1. 【HDOJ】1242 Rescue

    BFS+优先级队列. #include <iostream> #include <cstdio> #include <cstring> #include <q ...

  2. 33个优秀的HTML5应用演示 (转)

    33个优秀的HTML5应用演示 (转) HTML5能做什么?取代Flash?制作动画?开发程序应用?这些都只是HTML5的一小部分功能而已. 大家可能听到很多关于Flash是否会被HTML5取代的讨论 ...

  3. POJ_2914_Minimum_Cut_(Stoer_Wagner)

    描述 http://poj.org/problem?id=2914 求无向图中最小割. Minimum Cut Time Limit: 10000MS   Memory Limit: 65536K T ...

  4. WordPress 'is_serialized()'远程任意代码执行漏洞(CVE-2013-4338)

    漏洞版本: WordPress 3.6 漏洞描述: Bugtraq ID:62345 CVE ID:CVE-2013-4338 WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PH ...

  5. 【转】iOS开发者申请发布证书及真机调试图文详解

    原文网址:http://www.tqcto.com/article/mobile/57822.html 打开iOS Dev Center,选择Sign in,登陆(至少99美元账号),登陆之后在网页右 ...

  6. Gson ------ 实例演习

    [本文范围]: 本文并非JSON知识讲解资料,亦非GSON知识讲解资料,而是通过实例让开发人员了解通过Gson如何使Java对象和Json对象进行相互转换. [JSON参考资料]: Json快速入门: ...

  7. [资源共享]C#+AE构建GIS桌面端应用系统框架-全代码

    转自:http://www.cnblogs.com/gispeng/archive/2008/10/06/1304534.html    [资源共享]C#+AE构建GIS桌面端应用系统框架-全代码 ( ...

  8. 基于.NET平台的分层架构实战(六)——依赖注入机制及IoC的设计与实现[转]

    原文:http://www.cnblogs.com/leoo2sk/archive/2008/06/19/1225223.html 我们设计的分层架构,层与层之间应该是松散耦合的.因为是单向单一调用, ...

  9. Bzoj 1042: [HAOI2008]硬币购物 容斥原理,动态规划,背包dp

    1042: [HAOI2008]硬币购物 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1747  Solved: 1015[Submit][Stat ...

  10. HW4.25

    public class Solution { public static void main(String[] args) { double sum; for(int i = 10000; i &l ...