最近把以前设想做搜索引擎的想法再次提出来刚入门天吧
在想到建立索引的时候要用自动调度的方法
原因很简单你的索引要更新的所以想到了自动调度当然那就想到了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);
}
}