zoukankan      html  css  js  c++  java
  • Spring与Quartz实现定期任务

    <!-- 
    任务调度测试实现一 :
    自定义的任务对象com.bocloud.equipment.test.ExampleJob
    必须继承QuartzJobBean类,实现抽象方法executeInternal
    每次执行任务时,都会新创建一个任务对象.
    -->
    <bean id="myJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
        <!--
    	属性jobClass不能通过ref来指定为exampleJob对象,该属性接收的是Class类型的参数
    	进行任务调度时,每次都是一个新的jobClass对象去执行executeInternal方法
        -->
        <property name="jobClass" value="com.bocloud.equipment.test.ComputerInfoGatherJob" />
    </bean>
    
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="myJobDetail" />
        <property name="cronExpression" value="0/10 * * * * ?" />
    </bean>
    
    <bean id="computerInfoGatherScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="cronTrigger" />
            </list>
        </property>
    </bean>
    

      

    <!-- 
    任务调试实现测试二 :
    属性targetObject:指定执行任务的对象
    属性targetMethod:指定执行任务的方法,该方法必须是无参方法
    -->
    <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="computerService" />
        <property name="targetMethod" value="list" />
    </bean>
         
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="jobDetail" />
        <property name="cronExpression" value="0/10 * * * * ?" />
    </bean>
         
    <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
            <ref bean="cronTrigger" />
        </list>
        </property>
    </bean>

    转载至:http://my.oschina.net/lhplj/blog/213773

    一个Quartz的CronTrigger表达式分为七项子表达式,其中每一项以空格隔开,从左到右分别是:秒,分,时,月的某天,月,星期的某天,年;其中年不是必须的,也就是说任何一个表达式最少需要六项! 
    例:0 0 12 ? * WED 表示每个星期三的12点执行,这里没有“年”这项! 

    字段名(项)  必须  值范围  特殊字符 
    秒 是 0-59  , - * /  
    分 是 0-59  , - * /  
    时 是 0-23  , - * /  
    月的某天  是 1-31  , - * ? / L W  
    月 是 1-12 or JAN-DEC  , - * /  
    星期的某天 是 1-7 or SUN-SAT  , - * ? / L #  
    年 否 empty, 1970-2099  , - * / 

  • 相关阅读:
    报错注入验证sqli
    pycharm out of memory 闪退
    集群、分布式、负载均衡区别与联系
    如何获取线程池ThreadPoolExecutor正在运行的线程
    docker快速安装mysql
    基于guava实现本地缓存
    NIO selector 多路复用reactor线程模型
    网络编程之NIO
    网络编程之BIO
    反射性能研究,反射赋值与set方法赋值对比
  • 原文地址:https://www.cnblogs.com/zhoucx66/p/5667825.html
Copyright © 2011-2022 走看看