ฉันได้รับอีเมลจำนวนมากเมื่อเร็ว ๆ นี้ทุกคนต้องการทราบว่า Spring Boot รวมควอตซ์เพื่อใช้งานหลายเวลาได้อย่างไร เนื่องจากฉันไม่ได้ใช้งานหลายเวลาในการผลิตฉันจะให้แนวคิดในการดำเนินการ
1. สร้างงานเวลาใหม่สองงานดังนี้:
Public Class ScheduledJob ใช้งาน {@Override โมฆะสาธารณะ Execute (jobExecutionContext Context) พ่น JobExecutionException {System.out.println ("กำหนดการ Job1 กำลังทำงานอยู่………………………………………………………………………………………… }} คลาสสาธารณะ ScheduleDJOB2 ใช้งาน {@Override โมฆะสาธารณะดำเนินการ (jobExecutionContext Context) พ่น JobExecutionException {System.out.println ("กำหนดการ Job2 กำลังทำงานอยู่………………………………………………………………………………… -2. กำหนดค่าสองงานข้างต้น
@Component คลาสสาธารณะ SchedulerAllJob {@AutoWired Private SchedulerFactoryBean SchedulerFactoryBean; /** ที่นี่คุณสามารถฉีดการดำเนินการฐานข้อมูลเพื่อสอบถามการกำหนดค่างานทั้งหมด*// *** วิธีนี้ใช้เพื่อเริ่มงานที่กำหนดเวลาทั้งหมด* @throws Schedulerexception*/ โมฆะสาธารณะ ScheduleJobs () โยน SchedulerException / ** * */ schedulejob1 (กำหนดตารางเวลา); ScheduleJob2 (Scheduler); }/*** กำหนดค่า JOB1* งานที่นี่สามารถกำหนดค่าและวางไว้ในคุณสมบัติหรือในฐานข้อมูล* หากคุณต้องการทำงานช่วงเวลาแบบไดนามิกในเวลานี้โปรดดูที่: http://blog.csdn.net/liuchuanhong1/article/details Scheduler * @throws SchedulerException * / โมฆะส่วนตัว ScheduleJob1 (Scheduler Scheduler) พ่น SchedulerException { / * * ที่นี่คุณสามารถสอบถามฐานข้อมูลก่อนโดยชื่องาน หากงานมีอยู่ในฐานข้อมูลให้อัปเดตการกำหนดค่างานและทริกเกอร์ตามวิธีการในคลาส SchedulereFreshDatabase * หากงานไม่ได้สอบถามในฐานข้อมูลในเวลานี้ให้ทำตามขั้นตอนด้านล่างเพื่อสร้างงานใหม่ .WithIdentity ("Job1", "Group1"). สร้าง (); // ดำเนินการ cronschedulebuilder schedulebuilder = cronschedulebuilder.cronschedule ("0/5 * * *?"); Crontrigger crontrigger = triggerBuilder.newtrigger (). Withidentity ("Trigger1", "Group1") Scheduler.schedulejob (Jobdetail, Crontrigger); } / ** * กำหนดค่างาน * @param Scheduler * @throws SchedulerException * / โมฆะส่วนตัว ScheduleJob2 (Scheduler Scheduler) พ่น SchedulerException {JobDetail JobDetail = JobBuilder.newJob (ScheduledJob2.class) cronschedulebuilder schedulebuilder = cronschedulebuilder.cronschedule ("0/10 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // crontrigger ดำเนินการทุก ๆ 10 วินาที crontrigger = triggerbuilder.newtrigger (). ithidentity ("trigger2", "group1"). withschedule Scheduler.schedulejob (Jobdetail, Crontrigger); -3. เริ่มงานสองงาน
@Configuration @EnableScheduling @component คลาสสาธารณะ schedulerListener {@autowired สาธารณะ scheduleralljob myscheduler; /** * ดำเนินการวิธีนี้เมื่อเริ่มต้นหรือใช้ ApplicationListener เพื่อดำเนินการวิธีการเริ่มต้น * สำหรับการใช้งานเฉพาะดู: http://blog.csdn.net/liuchuanhong1/article/details/77568187 * @throws Schedulexception * Schedulerexception {MyScheduler.schedulejobs (); } @Bean สาธารณะ SchedulerFactoryBean SchedulerFactoryBean () {SchedulerFactoryBean SchedulerFactoryBean = ใหม่ SchedulerFactoryBean (); ส่งคืน SchedulerFactoryBean; -4. ผลการทดสอบมีดังนี้
schedule job1 is running………………………………… schedule job2 is running…………………………………… schedule job1 is running………………………………… schedule job1 is running……………………………………… schedule job1 is running………………………………………… schedule job1 is running………………………………………… schedule Job1 กำลังทำงานอยู่……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… วิ่ง……………………………………………………………………………………………………………………………………………………………………………………………………………… - - -
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น