リスニング-タイミングタスクjavaの起動
8884 ワード
web.xml
リスニングの追加
autoGetSwipeCard.java
サーブレットContextListener学習リファレンスURL
タイミングタスク学習参考URL
リスニングの追加
<listener>
<listener-class>_OA.sensetime.api.autoGetSwipeCardlistener-class>
listener>
autoGetSwipeCard.java
package _OA.sensetime.api;
import _OA.sensetime.dao.SenseTimeDao;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class autoGetSwipeCard implements ServletContextListener {
private Timer timer;
long daySpan = 5*60 * 1000;// (5 )
Date startTime = null;//
/**
* Servlet Web 。 , Filter ,
* Web Servlet 。
*/
@Override
public void contextInitialized(ServletContextEvent arg0) {
timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
try {
System.out.println("************** ***************");
(new SenseTimeDao()).getSwipeCard();//
}catch (Exception e){
e.printStackTrace();
}
}
};
timer.scheduleAtFixedRate(task, 0, daySpan);// , daySpan
/** : 1:00 ( 1:00 ); 24h **/
/**
daySpan = 24 * 60 * 60 * 1000;//24h
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd '01:00:00'");
try {
startTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(sdf.format(new Date()));
} catch (Exception e) {
e.printStackTrace();
}
if (System.currentTimeMillis() > startTime.getTime())
startTime = new Date(startTime.getTime() + daySpan);//
timer.scheduleAtFixedRate(task, startTime, daySpan);
System.out.println("********sdf.format(new Date())********"+sdf.format(new Date()));//2019-08-14 01:00:00
System.out.println("********startTime********"+startTime); //Wed Aug 14 01:00:00 CST 2019
System.out.println("********startTime.getTime()********"+startTime.getTime()); //1565715600000
System.out.println("********System.currentTimeMillis()********"+startTime); //Wed Aug 14 01:00:00 CST 2019
*/
}
/**
* Servlet Web 。 , Servlet Filter 。
*/
@Override
public void contextDestroyed(ServletContextEvent arg0) {
if (timer != null) timer.cancel();
}
}
サーブレットContextListener学習リファレンスURL
タイミングタスク学習参考URL