这周学习了quartz定时任务,现在进行总结一下。首先要认识定时任务中几个关键接口,以及各个接口之间是如何联系起来的。

  1.关键接口

    (1)Scheduler,任务调度的API,它可以用来启动或者终止任务等。

   (2)Job,具体的任务接口;通过实现它,来让任务调度执行具体的任务。

  (3)JobDetail,用来定义Job的实例。

   (4)Trigger ,触发器用来定义给定的Job应该如何执行。

  (5)JobBuilder ,用来定义/构建Jobdetail实例。

  (6)TriggerBuilder ,用来定义/构建Trigger实例。

  各个接口之间的联系可以用以下图形解释:

    

    接下来介绍一下,spring与quartz的整合。

    (1)首先导入spring与quartz的相关jar包,如下: 

      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${springframework}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${springframework}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${springframework}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${springframework}</version>
      </dependency>

    (2)spring.xml文件代码如下:

  (3)测试,新建类HelloJob.class,代码如下:

  

  (4)部署项目后启动,控制台输出如下:一分钟输出一次。

  

  (5)如何在job中获取spring的上下文?

   

   代码中使用:

   

    (7)对于cron表达式没有深入理解,可以使用cron表达式在线生成代码。

    

  

spring与quartz整合的更多相关文章

  1. spring与quartz整合实现分布式动态创建,删除,改变执行时间定时任务(mysql数据库)

    背景:因为在项目中用到了定时任务,当时想到了spring的quartz,写完发现费了很大功夫,光是整合就花了一上午,其中最大的问题就是版本问题,项目中用的是spring3.2.8的版本,查阅发现,3. ...

  2. 初识spring与quartz整合实现定时任务

    参考资料: http://kevin19900306.iteye.com/blog/1397744 引用自别人的博客: 特别注意一点,与Spring3.1以下版本整合必须使用Quartz1,最初我拿2 ...

  3. Spring和quartz整合的入门使用教程

    Quartz的maven依赖 <!-- quartz 的jar --> <dependency> <groupId>org.quartz-scheduler< ...

  4. Spring和Quartz整合实现定时任务调度

    在Spring中可以很方便的使用Quartz来实现定时任务等功能,Quartz主要就是Schedule(任务调度器),Job(作业任务)和Trigger(触发器)三者的关系. 实现方式有多种,在此就介 ...

  5. JDK、Spring、Quartz等几种不同定时器的用法,以及cronExpression表达式定义

    referenc:https://blog.csdn.net/clementad/article/details/42042111 下面介绍几种常用的定时器及其实现方法: 第一种:Timer和Time ...

  6. 定时任务之Spring与Quartz的整合(有修改)

    转摘:http://www.javaweb1024.com/java/JavaWebzhongji/2015/04/13/548.html 在Spring中使用Quartz有两种方式实现:第一种是任务 ...

  7. Spring与Quartz的整合

    Quartz Quartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制.Quartz允许开发人员根据时间间隔来调度作业.它实现了作业和触发器的多 ...

  8. 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)

    轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(国家级奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Jav ...

  9. Spring学习6-Spring整合Struts2

    一.Spring为什么要整合Struts2     Struts2与Spring进行整合的根本目的就是要让 Spring为Struts2的Action注入所需的资源对象,它们整合的原理则是只要导入了s ...

随机推荐

  1. 翻页bug 在接口文档中应规范参数的取值区间

    <?php$a=array("red","green","blue","yellow","brown&q ...

  2. 关于this,作用域,属性,原型链的一个小练习

    function p () { this.name = 'x'; var name = 'y'; this.getName = function () { return name; } } // 求值 ...

  3. CXF 框架

    1. 搭建服务端(查询天气) // 1. 引入cxf的 jar 包; // 2. 创建 SEI 接口, 需要加入注解: @WebService @WebService public interface ...

  4. XML 解析之 jaxp 解析器

    XML 的解析方式有两种方式: DOM 解析和 SAX 解析. DOM 解析: 根据 XML 的层级结构, 在内存中分配一个树形结构, 把 XML 的标签, 属性和文本都封装成对象. 优点: 可以实现 ...

  5. AwesomePerfCpp 性能优化

    Contents Talks Articles Sites/Blogs Tools Libraries Books About Talks 2013: Going Native 2013 - Andr ...

  6. TCP的3次握手和四次挥手,请画图说明流程

    TCP 三次握手 TCP 四次挥手  

  7. Dictionary里使用struct,enum做key

    首先看下Dictionary的源码 public void Add (TKey key, TValue value) { if (key == null) throw new ArgumentNull ...

  8. IIS设置文件 App_Offline.htm 网站维护

    在ASP.NET 2.0 站点根目录下,只要存在 App_Offline.htm 文件,那么所有对.aspx的请求都将转向App_Offline.htm .而且浏览器的地址栏显示的是所请求的.aspx ...

  9. Django继承

    Django目前支持两种不同的继承方式,包括抽象基础类和多表继承. 1.抽象基础类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 cla ...

  10. R-CNN for Small Object Detection

    R-CNN for Small Object Detection 文章方法概括 这篇文章主要讨论针对小目标的目标检测 文章为了证明:对传统R-CNN style的方法进行改进,可以用于小目标检测,并且 ...