لقد تلقيت العديد من رسائل البريد الإلكتروني مؤخرًا ، وكلهم يرغبون في معرفة كيفية دمج Spring Boot لتنفيذ مهام توقيت متعددة. بما أنني لا أستخدم مهام توقيت متعددة في الإنتاج ، فسأعطيني فكرة للتنفيذ.
1. قم بإنشاء مهمتين توقيتين جديدتين ، على النحو التالي:
الطبقة العامة ScheduledJob تنفذ Job {Override Public Void تنفيذ (JobexecutionContext Context) RameExecutionException {system.out.println ("الجدول الزمني Job1 يعمل ................................................................................................................................................................................... } } public class ScheduledJob2 implements Job { @Override public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("schedule job2 is running …………………………………………………”); }}2. تكوين المهمتين أعلاه
Component public class SchedulerAllJob {Auutowired private SchedulerFactoryBean SchedulerFactoryBean ؛ ] / ** * */ MANCEDJOB1 (SCHELLER) ؛ MANTERJOB2 (SCHELLER) ؛ }/*** تكوين Job1* يمكن تكوين المهام هنا ووضعها في خصائص أو في قاعدة البيانات* إذا كنت بحاجة إلى القيام بمهام توقيت ديناميكية في هذا الوقت ، يرجى الرجوع إلى: http://blog.csdn.net/liuchuannong1/article/details/60873295 * Throws Schedulerexception * / private void matherjob1 (Scheduler Scheduler) يلقي Schedulerexception { / * * هنا يمكنك الاستعلام عن قاعدة البيانات أولاً باسم المهمة. إذا كانت المهمة موجودة في قاعدة البيانات ، فقم بتحديث تكوين المهمة والمشغلات وفقًا للطرق الواردة في فئة SchedulerEfreshDatabase * إذا لم يتم الاستعلام عن المهمة في قاعدة البيانات في هذا الوقت ، اتبع الخطوات أدناه لإنشاء مهمة جديدة ، وتكوين معلمات التهيئة ، وتخزين التكوين في قاعدة البيانات */ JobDetail = . // تنفيذ cronscheduleBuilder matherbuilder = cronscheduleBuilder.CronsChedule ("0/5 * *؟") ؛ crontrigger crontrigger = triggerbuilder.newtrigger (). withIdentity ("trigger1" ، "group1"). Scheduler.ScheduleJob (JobDetail ، Crontrigger) ؛ } / ** * تكوين الوظيفة * param Scheduler * throws Schedulerexception * / private void matherejob2 (Scheduler Scheduler) Rames Schedulerexception {JobDetail JobDetail = Jobbuilder.newjob (ScheduledJob2.Class) .WithIdentity ( cronscheduleBuilder matherbuilder = cronscheduleBuilder.CronsChedule ("0/10 * * *؟") ؛ // crontrigger ينفذ كل 10 ثوان من crontrigger = triggerbuilder.newtrigger (). مع السقة ("trigger2" ، "group1"). Scheduler.ScheduleJob (JobDetail ، Crontrigger) ؛ }}3. ابدأ مهمتين
configuration enablesCheduling @component الفئة العامة SchedulerListener {Autowired Public SchedulerAllJob myscheduler ؛ /** * قم بتنفيذ هذه الطريقة عند بدء التشغيل ، أو استخدم تطبيق Application لتنفيذ الطريقة عند بدء التشغيل * لاستخدام محدد ، راجع: http://blog.csdn.net/liuchuanhong1/article/details Schedulerexception {myscheduler.schedulejobs () ؛ } Bean Public SchedulerFactoryBean SchedulerFactoryBean () {SchedulerFactoryBean SchedulerFactoryBean = New SchedulerFactoryBean () ؛ إرجاع SchedulerFactorybean ؛ }}4. نتائج الاختبار على النحو التالي
الجدول الزمني 1 هو تشغيل ......................................................................................................................................................................................................................... Job1 قيد التشغيل ............................................................................................................................................................................................................................................................................................................... جري……………………………………………………………………………………………………………………………………………………………………………………………………………… ......................................................................................................................................................................................................................................................................... ..................................................................................................................................................................................................................................................................... .........................................................................................................................................................................................................................................................................
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.