-
写一个定时器Timer,随服务器一起启动10
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)+"次调用");
}
}
我是新人,不太懂2011年1月08日 11:10
2个答案按时间排序按投票排序
采纳的答案
- 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("我又被执行了");
- }
- }
- }
Timer没怎么用过,可能写得不太好或不太对
2011年1月08日 11:54
InitializingBean
Spirng的InitializingBean为bean提供了定义初始化方法的方式。InitializingBean是一个接口,它仅仅包含一个方法:afterPropertiesSet()。
添加一个实现InitializingBean的类,在Spring的Bean加载设置完毕后,将会调用afterPropertiesSet()方法,这样,定时器就随机启动了
- 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;
- }
- }
配置定时器启动类
- <bean id="timerStartFactory" class="TimerStartFactory">
- <property name="timer" ref="timer" />
- </bean>
2011年1月08日 11:37