zoukankan      html  css  js  c++  java
  • 使用spring的定时器

    项目需求:

    1.需要定时启动某个函数

    2.只要等时间间隔就可以

    由于项目是使用spring框架的,所以我就直接使用spring中的定时器,只要几行xml代码我的定时任务就搞定啦!

    使用MethodInvokingTimerTaskFactoryBean来启动某个对象的某个方法。

    使用ScheduledTimerTask类来定时启动任务。

    使用TimerFactoryBean来管理所有的定时器。

    ApplicationContext.xml文件当中添加:

    <bean id="stockInfoTaskBean" class="org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean">
            <property name="targetObject">
                <ref bean="spiderManager"/>
            </property>
            <property name="targetMethod">
            <value>refreshStockInfo</value>
            </property>
    </bean>
    
    <bean id="stockInfoTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
        <!--这里定义定时任务的对象的位置-->
        <property name="timerTask">
         <ref bean="stockInfoTaskBean"/>
        </property>
        <!--这里定义每2小时程序执行一次-->
        <property name="period">
         <value>7200000</value>
        </property>
        <!--这里定义程序启动2h钟后开始执行-->
        <property name="delay">
         <value>7200000</value>
        </property>
    </bean>
    
    <bean id="timerFactoryBean" class="org.springframework.scheduling.timer.TimerFactoryBean">
        <property name="scheduledTimerTasks">
         <list>
            <ref bean="newsTask"/>
            <ref bean="stockMarketTask"/>
            <ref bean="stockInfoTask"/>
         </list>
        </property>
    </bean> 
  • 相关阅读:
    python基础
    python基础
    python基础
    在hive下使用dual伪表
    mariadb 压缩包gz安装方式
    linux下 mysql5.7.20安装(精华)
    在开启kerberos 后,hbase存在数据命名空间的问题(解决方案)
    LINUX下解决TIME_WAIT等网络问题
    常用Oracle进程资源查询语句(运维必看)
    linux 下oracle 11g静默安装(完整版)
  • 原文地址:https://www.cnblogs.com/jackwuyongxing/p/4427564.html
Copyright © 2011-2022 走看看