開源技術(shù):Spring與自動調(diào)度任務(wù)

字號:

最近把以前設(shè)想做搜索引擎的想法再次提出來。剛?cè)腴T4天吧。
    在想到建立索引的時候要用自動調(diào)度的方法。
    原因很簡單,你的索引要更新的。所以想到了自動調(diào)度。當(dāng)然那就想到了spring.下面是自己自動調(diào)度的一些學(xué)習(xí)。
    這里只采用jdk自帶的timer進(jìn)行的,準(zhǔn)備在下篇文章中用Quartz調(diào)度器。
    首先建立你自己要運行的類。
    package com.duduli.li;
    public class Display {
    public void disp(){
    System.out.println("自動控制測試");
    }
    }
    一個簡單的java bean,其中在這里你可以替換自己的任務(wù)。
    然后就是編寫調(diào)度程序,這里要繼承jdk中的TimerTask類,復(fù)寫他的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了。
    
        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">
        class="com.duduli.li.Display">
    

        class="com.duduli.li.AutoRan">
    
    

        class="org.springframework.scheduling.timer.ScheduledTimerTask">
    
    
    
    

        class="org.springframework.scheduling.timer.TimerFactoryBean">
    
    
    
    

    

    

    
    再來就是客戶端調(diào)度了。
    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");
    }
    }