zoukankan      html  css  js  c++  java
  • Spring-scheduled

    以前写定时任务都是用 timertask, 现在用spring自带的 schediled

    spring配置文件需要的配置

    1.

    xmlns:task="http://www.springframework.org/schema/task" 
    

    2.

    http://www.springframework.org/schema/task  
    http://www.springframework.org/schema/task/spring-task-3.1.xsd
    

    3.  

    <!-- 启动定时任务注解驱动 -->
    <task:annotation-driven scheduler="myScheduler"/>
    <!-- 配置定时任务的线程池 -->
    <task:scheduler id="myScheduler" pool-size="5"/>  
    <!-- 开启注解 -->  
    <context:component-scan base-package="common.task" />
    

    4.测试用例: 

    @Component
    public class Job01 {
    
    	@Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次
    	public void jTest1(){
    		System.out.println("测试开始");
    	}
    }
    

      

    注意的问题:

    1.建议使用线程池

    spring-scheduled 默认是单线程的,如果同一时间开启多个任务会有延迟

    2.任务的类要有 @Component 注解标识

    3.任务方法要有 @Scheduled 注解配置 cron 表达式

  • 相关阅读:
    各职业岗位说明
    感慨集中所
    批量插入测试数据
    写作技巧
    Cordova学习
    CocoStudio
    maven使用感受
    org.json
    ApplicationContext
    2017
  • 原文地址:https://www.cnblogs.com/cfb513142804/p/6764431.html
Copyright © 2011-2022 走看看