zoukankan      html  css  js  c++  java
  • Spring Schedule 任务调度实现

    我们都知道任务调度可以用Quartz,但对于简单的定时任务,可以直接用Spring内置的Schedule来实现。可以由两种方式,注释+XML配置

    注解方式:

    注解也要先在sping.xml配置文件中配置自动发现

    XML中引入命名空间:

    xmlns:task="http://www.springframework.org/schema/task" 
     http://www.springframework.org/schema/task 
           http://www.springframework.org/schema/task/spring-task-3.0.xsd 
           "

    设置自动发现:

     <!-- 启动定时器 --> 
        <task:annotation-driven/>      

    之后在方法中加了@Scheduled注解,就能让该方法定时执行

     @Scheduled(cron="0 33/3 * * * ?") //每小时的33分钟开始执行,每3分钟执行1次 
        public void start() throws ServletException { 
                     validate(); 
    }

    其实@Scheduled中可以指定如下3中时间表达式:

    (1)fixedRate:每隔多少毫秒执行一次该方法。如:

      @Scheduled(fixedRate=2000)  // 每隔2秒执行一次 
              public void scheduleMethod(){   
                        System.out.println("Hello world...");   
              }   

    (2)fixedDelay:当一次方法执行完毕之后,延迟多少毫秒再执行该方法。

    (3)cron:详细配置了该方法在什么时候执行。cron值是一个cron表达式。如:

    @Scheduled(cron="0 0 0 * * SAT")   
                    public voidarchiveOldSpittles() {   
                     // ...   
                    }

    XML配置方式

     <task:scheduled-tasks>   
            <task:scheduled ref="taskJob" method="job1" cron="0 * * * * ?"/>   
    </task:scheduled-tasks>  

    其中taskJob是对应的javaBean,job1是要定时执行的方法


                  

  • 相关阅读:
    说实话,mycat就是垃圾,不再更新
    深入理解并发/并行,阻塞/非阻塞,同步/异步
    转载:PHP 协程实现
    转载:异步、并发、协程原理
    第四章总结
    第三节 需要异常
    [第四章] 测试依赖性和异常
    第三章总结
    第三节 MVC应用程序架构和测试
    第二节 PHPUnit测试的剖析
  • 原文地址:https://www.cnblogs.com/Gyoung/p/5339242.html
Copyright © 2011-2022 走看看