タイミング採集プログラム



                 ,               ,                    ——         。
  ,    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>
   ,    ,