易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
JAVA WEB程序中添加定时器
//这是我的定时器类,用来定时执行某段任务;
package
com.my.time;
import
java.text.ParseException;
import
java.text.SimpleDateFormat;
import
java.util.Date;
import
java.util.Timer;
public
class
BugXmlTimer {
public
Timer timer;
public
void
timerStart(){
timer =
new
Timer();
Date datetime=
new
Date();
Date midnightDate=
new
Date();
SimpleDateFormat sdf1 =
new
SimpleDateFormat(
"yyyy-MM-dd"
);
SimpleDateFormat sdf2 =
new
SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss"
);
try
{
midnightDate = sdf2.parse(sdf1.format(datetime)+
" 23:00:00"
);
}
catch
(ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long
in=midnightDate.getTime()-datetime.getTime();
System.out.println(
"before task"
);
//立刻执行,然后每隔30s执行一次
timer.schedule(
new
BugXmlTimerTask(),
0
,
30000
);
}
public
void
timerStop(){
if
(timer!=
null
)
timer.cancel();
}
public
static
void
main(String[] args){
BugXmlTimer myTimer=
new
BugXmlTimer();
// TODO Auto-generated method stub
myTimer.timerStart();
}
}
//这是执行任务的类,即每隔一段时间要做的事情在这里
package
com.my.time;
import
java.util.TimerTask;
public
class
BugXmlTimerTask
extends
TimerTask {
@Override
public
void
run() {
System.out.print(
"run task"
);
}
}
//以下是出发定时操作的类,该类实现了ServletContextListener
public
class
MyTimerListener
implements
ServletContextListener {
private
BugXmlTimer mytimer =
new
BugXmlTimer ();
public
void
contextInitialized(ServletContextEvent event) {
mytimer.timerStart();
}
public
void
contextDestroyed(ServletContextEvent event) {
mytimer.timerStop();
}
}
然后在web.xml里部署一下,即可在程序启动后运行定时器了!
<listener>
<listener-
class
>com.my.time.MyTimerListener </listener-
class
>
</listener>
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图