Spring整合Quartz定时任务框架

小记:之前用Tomcat集成Quartz还用最原始的实现,需要在配置文件中配置好Quartz的相关配置以及各个Job的JobDetail和Trigger,然后定义一个Quartz的Servlet让其可以随Tomcat启动来启动调度。这里不做详述,本篇主要记录Spring整合Quartz框架的2种方式:基于配置/基于注解。

本篇主要关注Quartz的相关配置,Spring的相关配置不做赘述。

基于配置的方式
  1. 编写定时任务的job类
package me.lishuo.job;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
 * Created by lis on 16/7/6. 
*/
@Component
public class TestQuartzJob {
      public void run() {        
          System.out.println("Hello quartz! now ->" + new Date());  
      }
}

2.配置spring-quartz.xml




    

    
    

    
    
        
         
    
    
          
         
    

    
    
        
            
                
            
        
    

基于配置的方式,需要在配置文件中详细配置任务类bean、CronTigger以及JobDeail。并且要在JobDeail指定定时任务的targetMethod方法名,即定时任务运行的方法。

基于注解的方式

  1. 编写定时任务的job类
package me.lishuo.job;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * Created by lis on 16/7/6.
 */
@Component
public class TestQuartzJob {
    @Scheduled(cron = "*/1 * * * * ?")
    public void run() {
        System.out.println("Hello quartz! now ->" + new Date());
    }
}
  1. 注解方式的配置spring-quartz.xml



    
    
    
    

如果定时任务有很多的话,采用注解方式就带来便捷了,还需要在定时任务运行的方法中加上@Scheduled注解并指定cron等配置即可。

RUN

配置好之后,可以启动web项目,就可以查看运行结果了,我的测试定时任务1s执行一次,如下:


Spring整合Quartz定时任务框架_第1张图片
运行结果.png

Tips

以上,定时任务用Quartz实现的话,比较灵活。但如果你的定时任务不复杂的话,也可以使用Linux cronJob,更加简单方便。

你可能感兴趣的:(Spring整合Quartz定时任务框架)