• spring mvc 整合Quartz


    Quartz是一个完全由java编写的开源作业调度框架。不要让作业调度这个术语吓着你。尽管Quartz框架整合了许多额外功能, 但就其简易形式看,你会发现它易用得简直让人受不了!Quartz整合在spring mvc的步骤:

    1)准备spring.jar包

    2)在WebRoot——>WEB-INF目录下创建spring-listener.xml文件

    3)在该xml文件添加以下代码:

    使用CronTrigger:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    
    <beans>
          <bean id="quartzJob" class="com.quartz.CommonQuartz"   
          </bean> 
    
          <bean id="quartzTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <property name="targetObject">
             <ref bean="quartzJob"></ref>
            </property>
            <property name="targetMethod">
             <value>TaskFunction</value>
            </property>
        </bean>
        
        <bean id="startQuartzTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
             <property name="jobDetail">
              <ref bean="quartzTask"></ref>
             </property>
             <property name="cronExpression">
              <value>*/1 * * * * ? </value>
             </property>
        </bean>
    
       <bean id="startQuartz" lazy-init="false" autowire="no"    class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
         <property name="triggers">
             <list>
                     <ref bean="startQuartzTime"></ref>
             </list>
          </property>
        </bean>
    
    </beans>

    其中cronExpression表达式对特殊字符的大小写不敏感,对代表星期的缩写英文大小写也不敏。

    表示式

    说明

    "0 0 12 * * ? "

    每天12点运行

    "0 15 10 ? * *"

    每天10:15运行

    "0 15 10 * * ?"

    每天10:15运行

    "0 15 10 * * ? *"

    每天10:15运行

    "0 15 10 * * ? 2008"

    在2008年的每天10:15运行

    "0 * 14 * * ?"

    每天14点到15点之间每分钟运行一次,开始于14:00,结束于14:59。

    "0 0/5 14 * * ?"

    每天14点到15点每5分钟运行一次,开始于14:00,结束于14:55。

    "0 0/5 14,18 * * ?"

    每天14点到15点每5分钟运行一次,此外每天18点到19点每5钟也运行一次。

    "0 0-5 14 * * ?"

    每天14:00点到14:05,每分钟运行一次。

    "0 10,44 14 ? 3 WED"

    3月每周三的14:10分到14:44,每分钟运行一次。

    "0 15 10 ? * MON-FRI"

    每周一,二,三,四,五的10:15分运行。

    "0 15 10 15 * ?"

    每月15日10:15分运行。

    "0 15 10 L * ?"

    每月最后一天10:15分运行。

    "0 15 10 ? * 6L"

    每月最后一个星期五10:15分运行。

    "0 15 10 ? * 6L 2007-2009"

    在2007,2008,2009年每个月的最后一个星期五的10:15分运行。

    "0 15 10 ? * 6#3"

    每月第三个星期五的10:15分运行。

    使用SimpleTrigger:

    <bean id="simpleTriggerTime" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
             <property name="jobDetail">
               <ref bean="quartzTask"></ref> 
    </property>
    <property name="startDelay" value="0" />
    <property name="repeatInterval">
    <value>3600000</value>
    </property>
    </bean>

    4)在com.quartz.CommonQuartz类下添加TaskFunction方法,该方法即作业调度方法。

  • 相关阅读:
    词法分析程序
    0909关于编译原理
    深度学习中图像检测的评价标准
    【 记忆网络 1 】 Memory Network
    ssm又乱码
    百度地图标注没了
    Fragment与Activity交互(使用Handler)
    在android里用ExpandableListView实现二层和三层列表
    java中outer的使用
    android中使用Http下载文件并保存到本地SD卡
  • 原文地址:https://www.cnblogs.com/sierrajuan/p/4962466.html
Copyright © 2020-2023  润新知