บทความนี้แนะนำ Java Web เพื่อดำเนินงานอย่างสม่ำเสมอทุกวันและแบ่งปันกับคุณ รายละเอียดมีดังนี้:
ขั้นตอนแรก:
แพ็คเกจ com.eh.util; นำเข้า java.util.calendar; นำเข้า java.util.date นำเข้า Java.util.timer;/** * งาน Java Timed, ทำงานเป็นประจำทุกวัน * @author wls * */timermanager ชั้นเรียนสาธารณะ Public TimerManager () {ปฏิทินปฏิทิน = Calendar.getInstance (); / *** ปรับแต่งวิธีการดำเนินการรายวัน 2:00 ***/ ปฏิทิน Set (Calendar.hour_of_day, 16); Calendar.set (Calendar.minute, 10); Calendar.set (Calendar.second, 0); วันที่ = calendar.getTime (); // เวลาของการดำเนินการครั้งแรกของการกำหนดเวลา System.out.println (วันที่); System.out.println ("ก่อนการเปรียบเทียบวิธีการ:"+วันที่ก่อน (วันที่ใหม่ ())); // หากเวลาของการดำเนินงานเวลาเป็นครั้งแรกน้อยกว่าเวลาปัจจุบัน // ในเวลานี้เพิ่มหนึ่งวันในครั้งแรกของการดำเนินงานเวลาเพื่อให้งานนี้สามารถดำเนินการได้ในเวลาต่อไป หากไม่มีวันเพิ่มเติมงานจะถูกดำเนินการทันที วัฏจักรของการดำเนินการลูปขึ้นอยู่กับเวลาปัจจุบันถ้า (วันที่ก่อน (วันที่ใหม่ ())) {วันที่ = this.addday (วันที่, 1); System.out.println (วันที่); } ตัวจับเวลาตัวจับเวลา = ตัวจับเวลาใหม่ (); งาน nfdflightDatimerTask = ใหม่ nfdflightDatatimerTask (); // กำหนดเวลางานที่ระบุเพื่อเริ่มดำเนินการล่าช้าคงที่ซ้ำ ๆ ณ เวลาที่กำหนด timer.schedule (งาน, วันที่, period_day); } // เพิ่มหรือลดจำนวนวันวันที่สาธารณะ addday (วันที่วันที่, int num) {ปฏิทิน startdt = calendar.getInstance (); startdt.settime (วันที่); startdt.add (calendar.day_of_month, num); return startdt.getTime (); -ขั้นตอนที่ 2:
แพ็คเกจ com.eh.util; นำเข้า java.text.simpledateFormat; นำเข้า java.util.calendar; นำเข้า java.util.timertask; /*** ในชั้นเรียน TimerManager ทุกคนต้องใส่ใจกับปัญหาเวลา หากคุณตั้งค่าให้ทำงานเวลา 14.00 น. แต่ถ้าคุณปล่อยโปรแกรมหลังจาก 2 นาฬิกาหรือเริ่มต้นบริการใหม่งานจะถูกดำเนินการทันทีแทนที่จะรอจนถึง 2 นาฬิกาในวันถัดไป เพื่อหลีกเลี่ยงสถานการณ์นี้เราสามารถตัดสินได้ว่าหากเวลาสำหรับการปล่อยหรือรีสตาร์ทบริการจะช้ากว่าเวลาสำหรับเวลาในการดำเนินงานให้เพิ่มหนึ่งวันบนพื้นฐานนี้ * @author WLS * */คลาสสาธารณะ NFDFLIGHTDATATIMERTASK ขยาย Timertask {ส่วนตัวแบบคงที่ simpledateFormat formatter = new SimpledateFormat ("YYYY-MM-DD HH: MM: SS"); @Override โมฆะสาธารณะ Run () {ลอง {// เขียนเนื้อหาที่คุณต้องการเรียกใช้ที่นี่ System.out.println ("Execution Time Time"+รูปแบบ (Calendar.getInstance (). getTime ()); } catch (ข้อยกเว้น e) {system.out.println ("----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ขั้นตอนที่ 3:
แพ็คเกจ com.eh.util; นำเข้า Javax.servlet.servletContextEvent; นำเข้า Javax.servlet.servletContextListener; คลาสสาธารณะ NFDFLIGHTATATASKLISTENER ใช้ ServletContextListener } Public Void ContextDestroyed (ServletContextEvent SCCE) {// วิธีการที่สร้างขึ้นอัตโนมัติ todo stub}}}}ขั้นตอนที่ 4: กำหนดค่าไฟล์ web.xml
<!-nfdflightDatataskListener Listener-> <ผู้ฟัง> <Sistener-Lass> com.eh.util.nfdflightDatatAskListener </Listener-Class> </Listener>
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น