Springboot استخدام طريقة استخدام المؤقت إضافة التعليق التوضيحي scheduled لتصميم معلمات cron
package com.clsystem.comm ؛ استيراد org.springframework.scheduling.annotation.scheduled ؛/** * تم إنشاؤه بواسطة Pudding في 2017-11-10. // منطق الأعمال}}
إن تنفيذ المؤقت الديناميكي سهل جدًا ليرث طريقة تنفيذ فئة SchedulingConfigurer.
package com.clsystem.comm ؛ استيراد com.clsystem.util.dateutil ؛ استيراد org.springframework.beans.factory.annotation.autowired ؛ استيراد org.springframework.scheduling.trigger org.springframework.scheduling.annotation.schedulingconfigurer ؛ استيراد org.springframework.scheduling.config.scheduledtaskregistrar java.util.calendar ؛ استيراد java.util.date ؛/*** تم إنشاؤه بواسطة Pudding في 2017-11-15. (يتم استخدام المؤقت الديناميكي لدفع الرسائل قبل 10 دقائق قبل تسجيل الوصول) (! على مدار الساعة) */ @componentpublic class dynamicscheduledtask schedulingconfigurer {autowired private checksystemmapper checksystemmapper ؛ Override public void configuretasks (ScheduleDTaskRegistrar TaskRegistrar) {taskregistrar.addtriggertask (new RunNable () {Override public void run () {// business logic system.out.println ("تذكير check-in") ؛ TriggerContext) {// قم بتعيين يوم العدد الموقت التالي = DateUtil.getDay () ؛ // احصل على يوم الأسبوع+= 1 ؛ morntime.indexof (":") ؛ Date.Sethours (Beforemorn) ؛ دقيقة = calendar.minute) ؛ Trigger.NextexecutionTime (TriggerContext) ؛ }}الاستخدام الأساسي لمعلمات CRON:
● النجمة (): يمكن استخدامها في جميع الحقول لتمثيل كل لحظة في مجال الوقت المقابل ، على سبيل المثال ، في الحقل الدقيق ، يعني "في الدقيقة" ؛
● علامة الاستفهام (؟): يتم استخدام هذه الشخصية فقط في حقول التاريخ والأسبوع ، وعادة ما يتم تحديدها على أنها "قيمة لا معنى لها" ، أي ما يعادل حرف DOT ؛
● ناقص علامة (-): التعبير عن نطاق. إذا تم استخدام "10-12" في حقل الساعة ، فهذا يعني من 10 إلى 12 نقطة ، أي 10 ، 11 ، 12 ؛
● فواصل (،): التعبير عن قيمة القائمة. إذا كنت تستخدم "Mon ، Wed ، Fri" في حقل الأسبوع ، فهذا يعني الاثنين والأربعاء والجمعة ؛
● SLASH (/): تمثل x/y تسلسلًا متساويًا ، x هي قيمة البداية و y هي قيمة الخطوة الإضافية. إذا كنت تستخدم 0/15 في حقل الدقيقة ، فسيتم التعبير عنها على أنها 0 و 15 و 30 و 45 ثانية ، في حين أن 5/15 تعني 5 و 20 و 35 و 50 في حقل الدقيقة ، يمكنك أيضًا استخدام */Y ، أي ما يعادل 0/Y ؛
● L: يتم استخدام هذه الشخصية فقط في حقول التاريخ والأسبوع ، والتي تمثل معنى "Last" ، ولكنها تعني بشكل مختلف في الحقلين. يشير L في حقل التاريخ إلى اليوم الأخير من الشهر ، مثل 31 يناير و 28 فبراير ، وهو ليس سنة قفزة ؛ إذا تم استخدام L في الأسبوع ، فهذا يشير إلى يوم السبت ، وهو ما يعادل 7. ومع ذلك ، إذا ظهر L في حقل الأسبوع وسببه قيمة X ، فهذا يعني "آخر X Days of the Month" ، على سبيل المثال ، 6L تعني يوم الجمعة الأخير من الشهر ؛
● W: لا يمكن أن تظهر هذه الشخصية إلا في حقل التاريخ ، وهي تعديل للتاريخ الرئيسي ، مما يشير إلى أن يوم العمل الأقرب إلى التاريخ. على سبيل المثال ، يمثل 15W أقرب يوم عمل إلى 15 من الشهر. إذا كان 15 من الشهر يوم السبت ، فإنه يتطابق يوم الجمعة 14 ؛ إذا كان 15 من الشهر يوم الأحد ، فإنه يتطابق يوم الاثنين 16 ؛ إذا كان 15 من الشهر يوم الثلاثاء ، فهو الثلاثاء 15. ومع ذلك ، تجدر الإشارة إلى أنه لا يمكن عبور تاريخ المطابقة إلى الشهر. إذا حددت 1W ، إذا كان اليوم الأول هو يوم السبت ، فإن النتيجة تتطابق مع الاثنين 3 ، وليس اليوم الأخير من الشهر الماضي. يمكن لسلسلة W تحديد تاريخ واحد فقط ، ولكن لا يمكن تحديد نطاق تاريخ ؛
● مجموعة LW: يمكن استخدام LW في حقل التاريخ ، مما يعني آخر يوم عمل من الشهر ؛
● علامة رئيسية (#): لا يمكن استخدام هذه الشخصية إلا في حقل الأسبوع ويمثل يوم عمل من الشهر. على سبيل المثال ، يمثل 6#3 الجمعة الثالثة من الشهر (يمثل 6 يوم الجمعة ، رقم 3 يمثل الثالث في الوقت الحالي) ، في حين يمثل 4#5 الأربعاء الخامس من الشهر ، على افتراض أن الشهر ليس لديه يوم الأربعاء الخامس ، ولا يتم تجاهله ولم يتم تشغيله ؛
● ج: يتم استخدام هذه الشخصية فقط في حقول التاريخ والأسبوع ، والتي تمثل معنى "التقويم". وهذا يعني أن التاريخ المرتبط بالخطة ، وإذا كان التاريخ غير مرتبط ، فهو يعادل جميع التواريخ في التقويم. على سبيل المثال ، 5C في حقل التاريخ يعادل اليوم الأول بعد اليوم الخامس من التقويم. 1C يعادل اليوم الأول بعد يوم الأحد في حقل الأسبوع.
تعبيرات CRON ليست حساسة لحالة الشخصيات الخاصة وليست حساسة للاختصار لحالة اللغة الإنجليزية لهذا الأسبوع.
يوضح الجدول 2 بعض الأمثلة على تمثيلات كرون كاملة أدناه:
تعبير كرون يعني "0 0 12 * *؟" الزناد "0 15 10؟ * *" الزناد "0 15 10 * *؟" الزناد "0 15 10 *؟" Trigger "0 15 10 *؟ *" Trigger "0 15 10 *؟ *" Trigger "0 15 10 *؟ 2005" Trigger "0 * 14 *؟" الزناد "0 0/5 14 * *؟" الزناد "0 0/5 14 * *؟" الزناد "0 0/5 14،18 * *؟" الزناد "0 0/5 14،18 *؟" الزناد "0 0/5 14،18 *؟" 0 0-5 14 *؟ " كل 5 دقائق من الساعة 2:00 إلى 14:05 كل يوم يطلق "0 10،44 14؟ 3 الأربعاء "كل يوم أربعاء في شهر مارس" 0 15 10؟ * Mon-Fri "كل يوم اثنين ، الثلاثاء ، الأربعاء ، الخميس ، والجمعة.
لخص
ما سبق هو استخدام جهاز توقيت Springboot الديناميكي الذي قدمه لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!