, , —— 。
, Servlet , :
import javax.servlet.ServletContextEvent;
public class MyTimer extends javax.servlet.http.HttpServlet implements
javax.servlet.ServletContextListener {
// private static final long serialVersionUID = 1L;
private java.util.Timer timer = null;
public void contextInitialized(ServletContextEvent event) {
timer = new java.util.Timer(true);
System.out.println(" ");
timer.schedule(new MyTimerTask(), 0, 24 * 60 * 60 * 1000);
System.out.println(" ");
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
System.out.println(" ");
}
}
java.util.Timer.schedule(TimerTask task, long delay, long period) , : , ( ), ( )。 , 24 。
:
import java.util.Calendar;
import java.util.TimerTask;
public class MyTimerTask extends TimerTask {
private static final int C_SCHEDULE_HOUR = 22;
private static boolean isRunning = false;
@Override
public void run() {
Calendar cal = Calendar.getInstance();
if (!isRunning) {
if (C_SCHEDULE_HOUR < cal.get(Calendar.HOUR_OF_DAY)) {
isRunning = true;
System.out.println(" ");
/* Your Code */
isRunning = false;
System.out.println(" ");
}
} else {
System.out.println(" ");
}
}
}
C_SCHEDULE_HOUR , 22 。
:
web.xml , Servlet
<listener>
<listener-class>com.test.MyTimer</listener-class>
</listener>
, ,