|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。JAVA-怎样完成TIMER功效
2004-11-8
Author:MeansonWang
Email:meansonw@hotmail.com
Date:2004-11-8
JAVA-怎样完成TIMER功效
1.listenerclass
packagetimer;
importjava.util.TimerTask;
importjava.util.Timer;
importjavax.servlet.*;
publicclassRemindListenerimplementsServletContextListener{
privatejava.util.Timertimer=null;
publicvoidcontextInitialized(ServletContextEventsce){
timer=newjava.util.Timer(true);
sce.getServletContext().log(newjava.util.Date()+"Timerstartup!");
timer.schedule(newRemindTask(),0,1*60*1000);//1minuteroll
sce.getServletContext().log(newjava.util.Date()+"Scheduleloaded!");
}
publicvoidcontextDestroyed(ServletContextEventsce){
timer.cancel();
sce.getServletContext().log(newjava.util.Date()+"Timerdestroyed!");
}
}
2.Taskclass
packagetimer;
importjava.util.TimerTask;
importjava.util.Calendar;
publicclassRemindTaskextendsTimerTask{
privatestaticfinalintC_SCHEDULE_HOUR=15;
privatestaticbooleanisRunning=false;
publicRemindTask(){
}
publicvoidrun(){
Calendarcal=Calendar.getInstance();
if(!isRunning){
if(C_SCHEDULE_HOUR==cal.get(Calendar.HOUR_OF_DAY)){
isRunning=true;
System.out.println(newjava.util.Date()+"taskstart");
//TODOforexample
inti=0;
while(i++<10){
System.out.println(newjava.util.Date()+"Done!task"+i+"/"+10);
}
isRunning=false;
System.out.println(newjava.util.Date()+"AlltaskDone!");
}
}
else
{
System.out.println(newjava.util.Date()+"Taskexisted!");
}
}
}
3.loadonstartinweb.xml
<listener>
<listener-class>timer.RemindListener</listener-class>
</listener>
4.restartserver
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的 |
|