เมื่อเขียนแอปพลิเคชันสปริงบูตคุณจะพบกับสถานการณ์เช่น: คุณต้องส่งข้อความอีเมลและการดำเนินการอื่น ๆ เป็นประจำและคุณอาจตรวจสอบและตรวจสอบธงพารามิเตอร์ ฯลฯ
สร้างงานที่กำหนดเวลา
มันง่ายมากที่จะเขียนงานที่กำหนดเวลาใน Spring Boot ตัวอย่างต่อไปนี้ใช้เพื่อแนะนำวิธีการสร้างงานที่กำหนดเวลาในการบูตฤดูใบไม้ผลิเพื่อส่งออกเวลาปัจจุบันทุก ๆ 5 วินาที
เพิ่ม @enablecheduling Annotation ลงในคลาสหลักของ Spring Boot เพื่อเปิดใช้งานการกำหนดค่าของงานเวลา
นำเข้า org.springframework.boot.springapplicationImport org.springframework.boot.autoconfigure.springbootaplaplicationimport org.springframework.scheduling.annotation.enablescheduling/*** 2018/1/12. */@springbootapplication@enablechedulingclass applicationfun main (args: array <string>) {springapplication.run (แอปพลิเคชัน :: class.java, *args)}สร้างคลาสการใช้งานที่กำหนดเวลา
นำเข้า org.apache.commons.logging.logfactoryimport org.springframework.scheduling.annotation.scheduledimport org.springframework.stereotype.componentimport Java.text.simpledateFormatimport Java.util.********************************* 2018/1/12.*/@componentclass ScheduledTasks {val log = logfactory.getLog (ScheduledTasks :: class.java) !! ส่วนตัว Val DateFormat = SimpledateFormat ("HH: MM: SS")@Scheduled $ {dateformat.format (date ())} ")}}เรียกใช้โปรแกรมและคุณสามารถดูผลลัพธ์ต่อไปนี้ในคอนโซล งานเวลาเริ่มทำงานตามปกติ
2018-01-21 23: 09: 01.112 ข้อมูล 23832-[Main] NQKOTLIN.CHAPER11_8_1.Applicationkt: เริ่มต้นแอปพลิเคชันใน 8.024 วินาที (JVM ทำงานสำหรับ 8.724)
2018-01-21 23: 09: 02.112 ข้อมูล 23832-[Pool-2-Thread-1] nqkchaper11_8_1.task.scheduledtasks: เวลาปัจจุบัน, 23:09:02
2018-01-21 23: 09: 03.042 ข้อมูล 23832-[Pool-2-Thread-1] NQKCHAPER11_8_1.TASK.SCHEDULEDTASKS: เวลาปัจจุบัน 23:09:03
2018-01-21 23: 09: 04.042 ข้อมูล 23832-[Pool-2-Thread-1] NQKCHAPER11_8_1.TASK.SCHEDULEDTASKS: เวลาปัจจุบัน 23:09:04
2018-01-21 23: 09: 05.042 ข้อมูล 23832-[Pool-2-Thread-1] nqkchaper11_8_1.task.scheduledtasks: เวลาปัจจุบัน, 23:09:05
@scheduleddetails
ในตัวอย่างเบื้องต้นข้างต้นคำอธิบายประกอบ @Scheduled (fixedRate = 1000) ใช้เพื่อกำหนดงานที่ดำเนินการทุก ๆ 1 วินาที การใช้ @Scheduled สามารถสรุปได้ด้วยวิธีต่อไปนี้:
@Scheduled คำอธิบายประกอบเป็นเธรดเดี่ยว หากจำเป็นต้องมีหลายเธรดโปรดเพิ่ม @async
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น