zoukankan      html  css  js  c++  java
  • spring quartz定时任务

    配置quartz 在spring中需要三个jar包:

    quartz-1.8.5.jar、commons-collections-3.2.1.jar、commons-logging-1.1.jar

     

    首先要配置我们的spring.xml

     

    xmlns 多加下面的内容、

    [html] view plaincopy
     
    1. xmlns:task="http://www.springframework.org/schema/task"  

     

    然后xsi:schemaLocation多加下面的内容、

    [html] view plaincopy
     
    1. http://www.springframework.org/schema/task  
    2. http://www.springframework.org/schema/task/spring-task-3.1.xsd  


    最后是我们的task任务扫描注解

    [html] view plaincopy
     
    1. <task:annotation-driven/>  


    我的配置扫描位置是:

    [html] view plaincopy
     
    1. <context:annotation-config/>  
    2.     <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>  
    3.     <context:component-scan base-package="com.test"/>  

     

    扫描的是com.test这样的包下的内容、

    下面需要接口和实现(我的这几个java文件都是com.test的包下的、)

    [java] view plaincopy
     
    1. public interface IMyTestService {  
    2.        public void myTest();  
    3. }  



     

    [java] view plaincopy
     
    1. @Component  //import org.springframework.stereotype.Component;  
    2. public class MyTestServiceImpl  implements IMyTestService {  
    3.       @Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次  
    4.       @Override  
    5.       public void myTest(){  
    6.             System.out.println("进入测试");  
    7.       }  
    8. }  


    执行后控制台就会打印出   进入测试   了

     

    需要注意的几点:下载地址   

    1、spring的@Scheduled注解  需要写在实现上、

    2、 定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true、具体就去百度google吧)

    3、实现类上要有组件的注解@Component

     

    剩下的就是corn表达式了、具体使用以及参数请百度google、

    【秒】   【分】  【时】   【日】  【月】   【周】  【年】   

    下面只例出几个式子

    CRON表达式    含义 
    "0 0 12 * * ?"    每天中午十二点触发 
    "0 15 10 ? * *"    每天早上10:15触发 
    "0 15 10 * * ?"    每天早上10:15触发 
    "0 15 10 * * ? *"    每天早上10:15触发 
    "0 15 10 * * ? 2005"    2005年的每天早上10:15触发 
    "0 * 14 * * ?"    每天从下午2点开始到2点59分每分钟一次触发 
    "0 0/5 14 * * ?"    每天从下午2点开始到2:55分结束每5分钟一次触发 
    "0 0/5 14,18 * * ?"    每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发 
    "0 0-5 14 * * ?"    每天14:00至14:05每分钟一次触发 
    "0 10,44 14 ? 3 WED"    三月的每周三的14:10和14:44触发 
    "0 15 10 ? * MON-FRI"    每个周一、周二、周三、周四、周五的10:15触发 

  • 相关阅读:
    spark 读取mongodb失败,报executor time out 和GC overhead limit exceeded 异常
    在zepplin 使用spark sql 查询mongodb的数据
    Unable to query from Mongodb from Zeppelin using spark
    spark 与zepplin 版本兼容
    kafka 新旧消费者的区别
    kafka 新生产者发送消息流程
    spark ui acl 不生效的问题分析
    python中if __name__ == '__main__': 的解析
    深入C++的new
    NSSplitView
  • 原文地址:https://www.cnblogs.com/wewini/p/5007642.html
Copyright © 2011-2022 走看看