¥H¤U¬O¤Þ¥Î¤ù¬q¡G
public class TaskManager implements ServletContextListener {
/**
* ¨C¤Ñªº²@¬í¼Æ
*/
public static final long PERIOD_DAY = DateUtils.MILLIS_IN_DAY;
/**
* ¤@©P¤ºªº²@¬í¼Æ
*/
public static final long PERIOD_WEEK = PERIOD_DAY * 7;
/**
* µL©µ¿ð
*/
public static final long NO_DELAY = 0;
/**
* p®É¾¹
*/
private Timer timer;
/**
* ¦bWebÀ³¥Î±Ò°Ê®Éªì©l¤Æ¥ô°È
*/
public void contextInitialized(ServletContextEvent event) {
//©w¸qp®É¾¹
timer = new Timer("¸ê®Æ®wªí³Æ¥÷",true);
//±Ò°Ê³Æ¥÷¥ô°È,¨C¤ë(4Ó¬P´Á)°õ¦æ¤@¦¸
timer.schedule(new BackUpTableTask(),NO_DELAY, PERIOD_WEEK * 4);
// timer.schedule(new BackUpTableTask(),NO_DELAY, 30000);
}
/**
* ¦bWebÀ³¥Îµ²§ô®É°±¤î¥ô°È
*/
public void contextDestroyed(ServletContextEvent event) {
timer.cancel(); // p®É¾¹¾P·´
}
}
¥H¤U¬O¤Þ¥Î¤ù¬q¡G
public class BackUpTableTask extends <!-- ¥¿¤å¶ºôµe¤¤µe¼s§i -->
TimerTask {
private static Log log = LogFactory.getLog(BackUpTableTask.class);
private static boolean isRunning = false;
public void run() {
if (!isRunning) {
isRunning = true;
log.debug("¶}©l°õ¦æ¥ô°È..."); //¶}©l¥ô°È
//working add what you want to do
log.debug("°õ¦æ¥ô°È§¹¦¨..."); //¥ô°È§¹¦¨
isRunning = false;
} else {
log.debug("¤W¤@¦¸¥ô°È°õ¦æÁÙ¥¼µ²§ô..."); //¤W¤@¦¸¥ô°È°õ¦æÁÙ¥¼µ²§ô
}
}
}
¥H¤U¬O¤Þ¥Î¤ù¬q¡G
<listener>
<listener-class>***.TaskManager</listener-class>
<description>n©w´Á°õ¦æªº¥ô°È</description>
</listener>