去哪網實習總結:開發定時任務(JavaWeb)
阿新 • • 發佈:2017-07-08
pri simple mod 節點 easy run dsm 16px 發送郵件
最後加入Listener類:
本來是以做數據挖掘的目的進去哪網的,結構卻成了系統開發。。
。
只是還是比較認真的做了三個月,老師非常認同我的工作態度和成果。。
。
實習立即就要結束了。總結一下幾點之前沒有註意過的變成習慣和問題,分享給大家。
同一時候打個廣告:去哪網內審部招JavaWeb開發實習生。時間很自由,每周一天、周六周日甚至都能夠。時間充裕的小夥伴給我留言啊,掙個零花錢,還能長點經驗。。
。。(保研的、想工作的大四狗最合適只是了。
。。)
事實上定時任務非常easy。js事實上也做過。就是Timer類的 Timer.schedule(TimerTask task, Date time, long period) 方法而已,三個參數各自是:任務、延遲、間隔。
給個完整的代碼:
首先是BugXmlTimer類:
public class BugXmlTimer { public Timer timer; public void timerStart(){ timer = new Timer(); Date datetime=new Date(); Date midnightDate=new Date(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { midnightDate = sdf2.parse(sdf1.format(datetime)+" 10:06:00"); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("before task"); long time = midnightDate.getTime()-datetime.getTime(); //立馬運行,然後每隔10s運行一次 timer.schedule(new BugXmlTimerTask(), 0, 10000);//time } public void timerStop(){ if(timer!=null) timer.cancel(); } public static void main(String[] args){ BugXmlTimer myTimer=new BugXmlTimer(); // TODO Auto-generated method stub myTimer.timerStart(); } }
<pre name="code" class="java">public class BugXmlTimerTask extends TimerTask { @Override public void run() { System.out.print("run task"); try { <strong>sendMail();//下一篇博客教你發送郵件</strong> } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
public class MyTimerListener implements ServletContextListener { <span style="white-space:pre"> </span>private BugXmlTimer mytimer = new BugXmlTimer (); public void contextInitialized(ServletContextEvent event) { mytimer.timerStart(); } public void contextDestroyed(ServletContextEvent event) { mytimer.timerStop(); } }
最後不要忘了配置web.xml的listener節點:
<listener> <listener-class>com.TimeListener.MyTimerListener</listener-class> </listener>
去哪網實習總結:開發定時任務(JavaWeb)