spring与quartz整合

  这周学习了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表达式在线生成代码。

 

     

 

  

原文地址:https://www.cnblogs.com/gdpuzxs/p/6663725.html