งานเวลาโดยทั่วไปจะมีอยู่ในโครงการระดับองค์กรขนาดกลางและขนาดใหญ่ เพื่อลดแรงกดดันต่อเซิร์ฟเวอร์และฐานข้อมูลระยะเวลามักใช้เพื่อทำให้ตรรกะทางธุรกิจบางอย่างเสร็จสมบูรณ์ สิ่งที่พบบ่อยที่สุดคือระบบบริการทางการเงินผลักดันการโทรกลับ โดยทั่วไปคำสั่งซื้อระบบการชำระเงินจะยังคงโทรกลับต่อไปเมื่อไม่ได้รับการโทรกลับและส่งคืนเนื้อหาที่ประสบความสำเร็จ การโทรกลับประเภทนี้โดยทั่วไปจะเสร็จสิ้นโดยงานที่กำหนดเวลา นอกจากนี้ยังมีการสร้างรายงาน เรามักจะทำการดำเนินการนี้เมื่อจำนวนลูกค้าเข้าชมมีขนาดเล็กเกินไปซึ่งมักจะอยู่ในตอนเช้า ในเวลานี้เรายังสามารถใช้งานที่กำหนดเวลาเพื่อให้ตรรกะเสร็จสมบูรณ์ Springboot มีงานเวลาในตัวสำหรับเราและเราต้องการคำอธิบายประกอบเพียงหนึ่งเดียวเพื่อเปิดใช้งานเวลาให้เราใช้
ในการพัฒนางานเวลาเป็นฟังก์ชันทั่วไป การพัฒนางานเวลาภายใต้การบูตฤดูใบไม้ผลินั้นง่ายมาก รหัสเฉพาะมีดังนี้:
1. กำหนดค่าแพ็คเกจการพึ่งพา pom.xml
เนื่องจากที่เก็บ Maven เริ่มต้นมักจะไม่สามารถเข้าถึงได้จึงใช้ภาพที่เก็บ Maven ของ Alibaba Cloud ที่นี่
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/ XSI: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" <Sersion> 0.0.1-SNAPSHOT </Sersion> <packaging> jar </packaging> <name> Spring-Boot-Scheduled </name> <scription> โครงการสาธิตสำหรับการบูตฤดูใบไม้ผลิ </คำอธิบาย> <! <url> http://maven.aliyun.com/nexus/content/groups/public/ </url> <releases> <enabled> True </enabled> </releases> </repository> <url> http://maven.aliyun.com/nexus/content/groups/public/ </url> <releases> <enabled> True </enabled> </releases> <Snapshots> <enabled> <RoupID> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Parent </artifactid> <cersion> 1.4.5.release </version> <inelypath/> <! <Project.build.sourceencoding> UTF-8 </project.build.sourceencoding> <project.raporting.OutputUntencoding> UTF-8 </project.Reporting.outputencoding> <RoupID> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Web </artifactid> </การพึ่งพาอาศัย> <การพึ่งพา> <roupId> org.projectlombok </groupid> <RoupID> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-test </artifactid> <scope> ทดสอบ </scope> </predency> </pendencies> <uffect> <build> <ArtIfactId> Spring-Boot-Maven-Plugin </artifactid> </plugin> </plugins> </uffer
2. ปรับแต่งสถานการณ์งาน
งานที่กำหนดเวลาจะถูกนำมาใช้โดยให้สถานการณ์เช่นวัฏจักรคงที่ช่วงเวลาการหน่วงเวลารอบคงที่และจุดเวลาที่กำหนด ใช้คำอธิบายประกอบ @Scheduled สำหรับคำอธิบายประกอบ
ExampleTimer.java
แพ็คเกจ com.example; นำเข้า java.text.simpledateFormat; นำเข้า java.util.date นำเข้า org.springframework.scheduling.annotation.scheduled; นำเข้า org.springframework.stereotype.component; SimpledateFormat ("HH: MM: SS"); @Scheduled (recidate = 10,000) โมฆะสาธารณะ timerrate () {system.out.println (dateformat.format (วันที่ใหม่ ());} // การดำเนินการครั้งแรก {system.out.println ("init:"+ dateformat.format (วันที่ใหม่ ()));} // execute @scheduled (cron = "50 16 20 * *?") โมฆะสาธารณะ timercron () {system.out.println ("เวลาปัจจุบัน:"3. เริ่มแอปพลิเคชัน
ในการเริ่มต้นโปรแกรมคุณต้องเพิ่มคำอธิบายประกอบ @EnablesCheduling
Springbootscheduledapplication.java
แพ็คเกจ com.example; นำเข้า org.springframework.boot.springapplication; นำเข้า org.springframework.boot.autoconfigure.springbootapplication; นำเข้า org.springframework.scheduling.spring. โมฆะคงที่หลัก (สตริง [] args) {springapplication.run (springbootscheduledapplication.class, args);}}4. ผลลัพธ์ผลลัพธ์
20: 16: 27Init: 20: 16: 28Init: 20: 16: 30INIT: 20: 16: 32INIT: 20: 16: 34INIT: 20: 16: 3620: 16: 37INIT: 20: 16: 38INIT: 20: 16: 40: 20: 16: 42 20: 16: 50init: 20: 16: 50init: 20: 16: 52init: 20:16:54
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับการใช้งานรหัสงานที่กำหนดเวลาของ Springboot ผ่านกำหนดเวลาและฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงเว็บไซต์นี้ต่อไปได้:
คำอธิบายโดยละเอียดเกี่ยวกับอินสแตนซ์การตั้งค่าสปริงบูตข้ามโดเมน
ทำความรู้จักกับสปริงบูตอย่างรวดเร็ว
การอภิปรายสั้น ๆ เกี่ยวกับข้อดีของ Springboot ถึงฤดูใบไม้ผลิ
หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!