java

位置:IT落伍者 >> java >> 浏览文章

Spring与自动调度任务


发布日期:2024年02月06日
 
Spring与自动调度任务

最近把以前设想做搜索引擎的想法再次提出来刚入门天吧

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

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

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

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

package comdudulili;

public class Display {

public void disp(){

Systemoutprintln(自动控制测试);

}

}

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

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

package comdudulili;

import javautilTimerTask;

public class AutoRan extends TimerTask {

//set方法是spring的DI

private Display display;

public void setDisplay(Display display) {

thisdisplay = display;

}

@Override

public void run() {

displaydisp();

}

}

然后就是重要的一步编写applicationsContextxml了

<?xml version= encoding=UTF?>

<beans

xmlns=http://wwwspringframeworkorg/schema/beans

xmlns:xsi=http://wwwworg//XMLSchemainstance

xsi:schemaLocation=http://wwwspringframeworkorg/schema/beans http://wwwspringframeworkorg/schema/beans/springbeansxsd>

<bean id=display

class=comduduliliDisplay>

</bean>

<bean id=atuoRun

class=comduduliliAutoRan>

<property name=display ref=display></property>

</bean>

<bean id=aR

class=orgspringframeworkschedulingtimerScheduledTimerTask>

<property name=timerTask ref=atuoRun></property>

<!

period多长时间运行一次delay表示允许你当任务第一次运行前应该等待多久

>

<property name=period value=></property>

<property name=delay value=></property>

</bean>

<bean id=test

class=orgspringframeworkschedulingtimerTimerFactoryBean>

<property name=scheduledTimerTasks>

<list>

<!

这里使用list可以调度多个bean

>

<ref bean=aR/>

</list>

</property>

</bean>

</beans>

再来就是客户端调度了

package comdudulili;

import orgspringframeworkbeansfactoryBeanFactory;

import orgspringframeworkcontextsupportClassPathXmlApplicationContext;

public class Client {

public static void main(String[] args) {

BeanFactory factory = new ClassPathXmlApplicationContext(applicationContextxml);

factorygetBean(test);

}

}

               

上一篇:Hibernate的十大罪状

下一篇:Struts为程序开发带来的好处