1. คำนำ
เมื่อเร็ว ๆ นี้มีการใช้งานที่กำหนดเวลาในโครงการของ บริษัท โพสต์บล็อกนี้จะสรุปงาน TimerTask Timing ในความเป็นจริง Timertask ไม่ได้ใช้มากในโครงการจริง
เนื่องจากไม่สามารถทำงานได้ในเวลาที่กำหนดจึงสามารถเรียกใช้โปรแกรมได้ที่ความถี่ที่แน่นอน
2. Timertask
ใน JDK ตัวจับเวลาเป็นคลาสตัวจับเวลาซึ่งสามารถกำหนดค่าสำหรับงานเวลาที่ระบุ
ใน JDK Timertask เป็นคลาสงานที่กำหนดเวลา คลาสนี้ใช้อินเทอร์เฟซที่รันได้และเป็นคลาสนามธรรม เราสามารถสืบทอดคลาสนี้และใช้งานที่กำหนดเวลา
/ *** สืบทอด timertask เพื่อใช้งานการกำหนดเวลา*/ คลาสสาธารณะ MyTask ขยาย TimerTask {@Override โมฆะสาธารณะเรียกใช้ () {สตริง currenttime = new SimpledateFormat ("YYY-MM-DD HH: MM: SS") รูปแบบ (วันที่ใหม่ (); System.out.println (currenttime + "งานเวลากำลังดำเนินการ ... "); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ตัวจับเวลาตัวจับเวลา = ตัวจับเวลาใหม่ (); // งานที่ดำเนินการหนึ่งครั้งใน 1 วินาทีพารามิเตอร์คือ: งาน, ล่าช้า, peroid timer.schedule (ใหม่ mytask (), 2000, 1,000); - 3. รวมฤดูใบไม้ผลิ
สองคลาสหลัก: ScheduledTimerTask, TimerFactoryBean
คลาส ScheduleDtimerTask คือการใช้งาน wrapper ของ TimerTask ซึ่งสามารถกำหนดข้อมูลทริกเกอร์สำหรับงานนี้ได้
คลาส TimerFactoryBean อนุญาตให้ Spring สร้างทริกเกอร์โดยใช้การกำหนดค่าและสร้างอินสแตนซ์ตัวจับเวลาโดยอัตโนมัติสำหรับชุดของถั่ว scheduledtimertask ที่ระบุ
1. แนะนำแพ็คเกจ JAR: Spring.jar, Commons-logging.jar
2. ประเภทธุรกิจการจัดตารางเวลา:
/ *** การกำหนดเวลาการกำหนดเวลาทางธุรกิจ*/ คลาสสาธารณะ Taskservice ขยาย Timertask {จำนวน int ส่วนตัว = 1; โมฆะสาธารณะเรียกใช้ () {System.out.println ("th" + count + "ดำเนินการตามเวลา"); นับ ++; - 3. การกำหนดค่าหลัก:
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://ww.w3.org/2001/xml XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" name = "timertask" ref = "taskservice" /> <!-ดำเนินการกำหนดค่าทุกวัน: 24*60*60*1,000-> <!-ดำเนินการโปรแกรมทุก ๆ 1 วินาที-> <ชื่อคุณสมบัติ = "ช่วงเวลา" value = "1000" /> <! name = "scheduledTimertasks"> <list> <ref bean = "scheduledtimertask"/> </list> </property> </ebean>
4. ชั้นเรียนทดสอบ:
คลาสสาธารณะหลัก {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// โหลดไฟล์การกำหนดค่าสปริงแอปพลิเคชันบริบท = ใหม่ classPathxMlApplicationContext ("ApplicationContext.xml"); System.out.println ("<< --------------------------------- >>"); bufferedReader reader = ใหม่ bufferedReader (ใหม่ inputStreamReader (system.in)); ในขณะที่ (จริง) {ลอง {ถ้า (reader.readline (). เท่ากับ ("เลิก")) {system.out.println ("<< ---------------------- >>"); System.Exit (0); }} catch (ioexception e) {โยน runtimeException ใหม่ ("เกิดข้อผิดพลาดเกิดขึ้น ... ", e); - ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น