使用java的Timer周期性的执行一段代码,使用的方法是Timer.schedule(TimerTask task, long delay, long period)delay设定的是10秒;period设定的是60秒服务器启动后,在TimerTask中判断如果当前时间是23:00,就发送一个mail给指定的人,但现在不知道为什么,每天都是执行两遍小弟初用Timer,还望各位高人指点!注:程序部署在linux系统中,服务器是tomcat6.*
调试欢乐多
public void init() throws ServletException { timerStart.schedule(new LinkTimeTask(), 10000, 60000);
}LinkTimeTask类(继承TimerTask)public void run() { Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
String dateString = formatter.format(currentTime); if ("01:00".equals(dateString)) {
【发送mail】
}
}
把创建对象的代码写在 init 里试试
public static long currentTimeMillis()
返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。例如,许多操作系统以几十毫秒为单位测量时间。