写一个定时器Timer,随服务器一起启动

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)+"次调用");
}
}
我是新人,不太懂

2个回答

[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]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐