Springboot Utiliser la méthode d'utilisation de la minuterie Ajouter @scheduled annotation pour concevoir des paramètres CRON
package com.clsystem.comm; import org.springframework.scheduling.annotation.scheduled; / ** * créé par Pudding le 2017-11-10. (Tâche de synchronisation d'enregistrement) * / @ ComponentPublic Class Clocktiming // Logique métier}}
L'implémentation du temporisateur dynamique est également très simple pour hériter de la méthode de mise en œuvre de la classe de configuration de planification.
package com.clsystem.comm; import com.clsystem.util.dateutil; import org.springframework.beans.factory.annotation.autowired; import org.springframework.scheduling.trigger; import org.springframework.scheduling.triggerContext; import; org.springframework.scheduling.annotation.schedulingConfigurer; import org.springframework.scheling.config.scheduledtaskregistrar; import org.springframework.scheduling.support.cronsrig; java.util.calendar; import java.util.date; / ** * créé par le pudding le 2017-11-15. (Dynamic Timer est utilisé pour pousser les messages 10 minutes avant l'enregistrement) (! ALARME) * / @ ComponentPublic Class DynamicsCheDuledTask implémente SchedulingConfigurer {@Autowired private CheckSystemMapper CheckSystemMapper; @Override public void configureTasks (planifié de taskgrarre de taskregistrar) {taskRegistrar.addtriggerTask (new Runnable () {@Override public void run () {// Business Logic System.out.println ("REMINGER CHECKIn");}}, new Trigger) {@override {// Définissez le prochain tireur entier Day = DateUtil.getDay (); // Get Today's Weekday + = 1; // Get Tomorrow's Weekday If (Day == 8) {// Exclusion du dimanche = 1;} String Morntime = BeForMorntimeHour = Integer.ParseInt (Morntime.Substring (0, J)); // Get Morning Work Time Integer BeforMorntimeminute = Integer.Parseint (Morntime.Substring (J + 1, Morntime.Length ()); // Get Morning Work Date Date = New Date (); Date.SetMinutes (BeforMorntimeMinute); String Cron = "0" + "+ Hour +" * "+ Day +" "; }); }}Utilisation de base des paramètres CRON:
● asterrisk (): peut être utilisé dans tous les champs pour représenter chaque instant dans le domaine temporel correspondant, par exemple, dans le champ minute, cela signifie "par minute";
● Marque d'interrogation (?): Ce caractère n'est utilisé que dans les champs de date et de semaine, et il est généralement spécifié comme une "valeur dénuée de sens", équivalent à un caractère DOT;
● MINUS SIGN (-): Exprimez une plage. Si "10-12" est utilisé dans le champ Hour, cela signifie de 10 à 12 points, c'est-à-dire 10, 11, 12;
● Comma (,): Exprimez une valeur de liste. Si vous utilisez "lun, mer, ven" dans le terrain de la semaine, cela signifie lundi, mercredi et vendredi;
● Slash (/): x / y représente une séquence de pas égale, x est la valeur de départ et y est la valeur étape incrémentielle. Si vous utilisez 0/15 dans le champ Minute, il est exprimé comme 0, 15, 30 et 45 secondes, tandis que 5/15 signifie 5, 20, 35, 50 dans le champ minute, vous pouvez également utiliser * / y, ce qui équivaut à 0 / Y;
● L: Ce caractère n'est utilisé que dans les champs de date et de semaine, représentant la signification de "dernier", mais cela signifie différemment dans les deux champs. L dans le champ Date indique le dernier jour du mois, comme le 31 janvier et le 28 février, ce qui n'est pas une année de saut; Si L est utilisé dans la semaine, il indique samedi, ce qui équivaut à 7. Cependant, si L apparaît dans le champ de la semaine et est précédé d'une valeur x, cela signifie "les derniers jours du mois", par exemple, 6L signifie le dernier vendredi du mois;
● W: Ce personnage ne peut apparaître que dans le champ Date et est une modification de la date de tête, indiquant la journée de travail la plus proche de la date. Par exemple, 15W représente la journée de travail la plus proche du 15 du mois. Si le 15 du mois est samedi, il correspond vendredi 14; Si le 15 du mois est dimanche, il correspond lundi 16; Si le 15 du mois est mardi, c'est mardi 15. Cependant, il faut noter que la date de correspondance associée ne peut pas être franchie au mois. Si vous spécifiez 1W, si le 1er jour est samedi, le résultat correspond lundi 3, pas le dernier jour du dernier mois. Une chaîne W ne peut spécifier qu'une seule date, mais ne peut pas spécifier une plage de dates;
● Combinaison LW: LW peut être utilisé dans le champ Date, ce qui signifie le dernier jour de travail du mois;
● Signe clé (#): Ce personnage ne peut être utilisé que dans le champ de la semaine et représente un jour de travail du mois. Par exemple, le 6 # 3 représente le troisième vendredi du mois (6 représente le vendredi, # 3 représente le troisième pour le moment), tandis que 4 # 5 représente le cinquième mercredi du mois, en supposant que le mois n'a pas le cinquième mercredi, il est ignoré et non déclenché;
● C: Ce caractère n'est utilisé que dans les champs de date et de semaine, représentant la signification du "calendrier". Cela signifie la date associée au plan, et si la date n'est pas associée, elle équivaut à toutes les dates du calendrier. Par exemple, 5C dans le champ Date est équivalent au premier jour après le 5ème jour du calendrier. 1C équivaut au premier jour après dimanche dans le terrain de la semaine.
Les expressions Cron ne sont pas sensibles au cas des caractères spéciaux et ne sont pas sensibles à l'abréviation du cas anglais de la semaine.
Le tableau 2 montre quelques exemples de représentations complètes CRON ci-dessous:
L'expression de Cron signifie "0 0 12 * *?" Trigger "0 15 10? * *" Trigger "0 15 10 * *?" Déclencheur "0 15 10 * *?" Trigger "0 15 10 * *? *" Trigger "0 15 10 * *? *" Trigger "0 15 10 * *? 2005" Trigger "0 * 14 * *?" Déclencheur "0 0/5 14 * *?" Déclencheur "0 0/5 14 * *?" Trigger "0 0/5 14,18 * *?" Déclencheur "0 0/5 14,18 *?" Déclencheur "0 0/5 14,18 *?" 0 0-5 14 * *? " Toutes les 5 minutes de 2h00 à 14h05, les déclencheurs de tous les jours "0 10 44 14? 3 mer "tous les mercredis de mars déclenche" 0 15 10? * LON-FRI "Tous les lundis, mardi, mercredis, jeudis et vendredis.
Résumer
Ce qui précède est l'utilisation de la minuterie dynamique Springboot qui vous est présentée par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!