Spring与自动调度任务 基于Timer的任务调度器的

系统 1766 0

在想到建立索引的时候要用自动调度的方法。

    原因很简单,你的索引要更新的。所以想到了自动调度。当然那就想到了spring.下面是自己自动调度的一些学习。

    这里只采用jdk自带的timer进行的,准备在下篇文章中用Quartz调度器。

    首先建立你自己要运行的类。

package  com.duduli.li;

public   class  Display {

    
public   void  disp(){
        System.out.println(
" 自动控制 测试 " );
    }
}

    一个简单的java bean,其中在这里你可以替换自己的任务。

    然后就是编写调度程序,这里要继承jdk中的TimerTask类,复写他的run方法。

package  com.duduli.li;

import  java.util.TimerTask;

public   class  AutoRan  extends  TimerTask {
    
// set方法是spring的DI
     private  Display display;
    
    
public   void  setDisplay(Display display) {
        
this .display  =  display;
    }
    @Override
    
public   void  run() {
        display.disp();
    }
}

    然后就是重要的一步,编写applicationsContext.xml了。

<? xml version="1.0" encoding="UTF-8" ?>
< beans
    
xmlns ="http://www.springframework.org/schema/beans"
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation
="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" >
    
    
< bean  id ="display"
        class
="com.duduli.li.Display" >
    
</ bean >
    
< bean  id ="atuoRun"
        class
="com.duduli.li.AutoRan" >
        
< property  name ="display"  ref ="display" ></ property >
    
</ bean >
    
    
< bean  id ="aR"
    class
="org.springframework.scheduling.timer.ScheduledTimerTask" >
        
< property  name ="timerTask"  ref ="atuoRun" ></ property >
<!--
period多长时间运行一次,delay表示允许你当任务第一次运行前应该等待多久
-->
        
< property  name ="period"  value ="5000" ></ property >
        
< property  name ="delay"  value ="2000" ></ property >     
    
</ bean >
    
    
< bean  id ="test"
    class
="org.springframework.scheduling.timer.TimerFactoryBean" >
        
< property  name ="scheduledTimerTasks" >
            
< list >
<!--
这里使用list,可以调度多个bean,
-->
                
< ref  bean ="aR" />
            
</ list >
        
</ property >
    
</ bean >
</ beans >

    再来就是客户端调度了。

package  com.duduli.li;

import  org.springframework.beans.factory.BeanFactory;
import  org.springframework.context.support.ClassPathXmlApplicationContext;

public   class  Client {

    
public   static   void  main(String[] args) {
        BeanFactory factory 
=   new  ClassPathXmlApplicationContext( " applicationContext.xml " );
        factory.getBean(
" test " );
    }
}

Spring与自动调度任务 基于Timer的任务调度器的应用


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论