1、搭建SSH框架环境
2、写一个定时器Timer,随服务器一起启动。
3、做一个前台页面,有两个按钮《开始》、《停止》能控制Timer。
4、在前台页面再做一个文本框和一个提交按钮,在文本框里输入数字,点击提交能控制Timer的时间间隔。如:输入"1111",点击提交后,Timer的时间间隔就为1111毫秒。
5、做一个类Count,这个类必须由spring管理,不能修改。Timer每执行一次就调用这个类的count()方法,要求输出Timer是第几次被调用。
Count.java文件如下:
public class Count {
private int i=0;
public void count(){
System.out.println("第"+(++i)+"次调用");
}
}
我是新人,不太懂
[code="java"]
import java.util.Timer;
import java.util.TimerTask;
public class YourTimer {
private Timer timer;
/**
* 启动
*
* @param time
*/
public void start(long time) {
timer = new Timer();
timer.schedule(new ScheduleRunTask(), 0, time);
}
/**
* 停止
*/
public void stop() {
timer.cancel();
}
/**
* 设置调度时间
*
* @param time
*/
public void setTime(long time) {
stop();
start(time);
}
/**
* 任务
*/
class ScheduleRunTask extends TimerTask {
public void run() {
System.out.println("我又被执行了");
}
}
}
[/code]
Timer没怎么用过,可能写得不太好或不太对
InitializingBean
Spirng的InitializingBean为bean提供了定义初始化方法的方式。InitializingBean是一个接口,它仅仅包含一个方法:afterPropertiesSet()。
添加一个实现InitializingBean的类,在Spring的Bean加载设置完毕后,将会调用afterPropertiesSet()方法,这样,定时器就随机启动了
[code="java"]
import org.springframework.beans.factory.InitializingBean;
public class TimerStartFactory implements InitializingBean {
/** 自己开发的定时器类 */
private YourTimer timer;
/* (non-Javadoc)
* @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
*/
public void afterPropertiesSet() throws Exception {
// 启动定时器
timer.start();
}
public YourTimer getTimer() {
return timer;
}
public void setTimer(YourTimer timer) {
this.timer = timer;
}
}
[/code]
配置定时器启动类
[code="xml"]
[/code]