spring定时任务的注解实现方式

Posted eagle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring定时任务的注解实现方式相关的知识,希望对你有一定的参考价值。

STEP 1:在spring配置文件中添加相应配置,以支持定时任务的注解实现

(一)在xml里加入task的命名空间

<!-- beans里添加:-->  
xmlns:task="http://www.springframework.org/schema/task" 
<!-- xsi:schemaLocation里添加:-->  
http://www.springframework.org/schema/task  
http://www.springframework.org/schema/task/spring-task-3.1.xsd 

(二)启用注解驱动的定时任务

<task:annotation-driven scheduler="scheduler"/> 

(三)配置定时任务的线程池

注:spring定时任务默认单线程推荐配置线程池,若不配置多任务下会有问题。

<task:scheduler id="scheduler" pool-size="10" />

以上配置完成后,后续无需再修改配置文件。

STEP 2:代码部分只需要加上两个注解即可

import java.util.Date;  
  
import org.springframework.scheduling.annotation.Scheduled;  
import org.springframework.stereotype.Component;  
  
@Component("taskJob")  
public class Test {  
    @Scheduled(cron = "0/5 * *  * * ?")    
    public void showTime() {    
        System.out.println(new Date());    
    }   
} 

(一)在定时类上加@Component("taskJob")

(二)在需要定时执行的方法上加@Scheduled,其中

@Scheduled(fixedRate = 60000)  表示每60秒执行一次

@Scheduled(cron = "0 0 1 * * ?")  表示每天凌晨1点时执行(在线cron表示式生成器:http://cron.qqe2.com/

以上是关于spring定时任务的注解实现方式的主要内容,如果未能解决你的问题,请参考以下文章

spring schedule定时任务:注解的方式

基于XML和注解的Spring定时器

spring boot注解之@Scheduled定时任务实现

使用spring quartz实现任务调度(注解方式)

Spring boot实现定时任务二:使用注解@scheduled和@EnableScheduling

「spring」定时任务(纯注解方式)