timer不执行问题

一个水饺 2009-11-03 10:42:29
我想做一个定时程序,每天某一个时间定时执行程序,从网上搜了一段代码不执行是怎么回事?还需要在web.xml里做设置吗,怎么设置,我设置了也不执行。代码如下:
package com.timer.test;

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/****
* TimerTask与Timer
*
* @author bruceleey
*
*/
public class TestTimer {
static int count = 0;

public static void showTimer() {
TimerTask task = new TimerTask() {
@Override
public void run() {
++count;
System.out.println("count执行了-->" + count); // 1次
}

};

Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH) - 1;
/*** 定制每日00:24:00执行方法 ***/
calendar.set(year, month, day, 24, 24, 00);
Date date = calendar.getTime();
Timer timer = new Timer();
timer.schedule(task, date);
}

public static void main(String[] args) {
showTimer();
}

}
...全文
194 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一个水饺 2009-11-04
  • 打赏
  • 举报
回复
我用Eclipse也可以啊,放到tomcat上就不行了
一个水饺 2009-11-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lz12366007 的回复:]
在我这试了下!可以的!!!
你那怎么不能执行啊??
int day = calendar.get(Calendar.DAY_OF_MONTH) - 1;
是昨天的day
calendar.set(year, month, day, 24, 24, 00);
也就是凌晨0点24分0秒
[/Quote]

怎么弄的啊,用的tomcat吗,编译了吗
lz12366007 2009-11-03
  • 打赏
  • 举报
回复
如果你想实现定时的话
应该用Timer.schedule(TimerTask,Date ,int)
在时间date执行!!之后每隔多长时间执行一次(单位是毫秒);;;;;
lz12366007 2009-11-03
  • 打赏
  • 举报
回复
在我这试了下!可以的!!!
你那怎么不能执行啊??
int day = calendar.get(Calendar.DAY_OF_MONTH) - 1;
是昨天的day
calendar.set(year, month, day, 24, 24, 00);
也就是凌晨0点24分0秒

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧