Springboot verwenden Timer -Nutzungsmethode @Scheduled Annotation, um Cron -Parameter zu entwerfen
Paket com.clsystem.comm; import org.springframework.Scheduling.annotation Logik}}
Die Implementierung des dynamischen Timers ist auch sehr einfach, die Implementierungsmethode für SchedulingConfigurer -Klassen zu erben.
Paket com.clsystem.comm; import com.clsystem.util.dateutil; import org.springframework.bean.factory.annotation.autowired; org.springframework.Scheduling.annotation.SchedulingConfigurer; import org.springframework.Scheduling.config.ScheduledTaskRegistrar; java.util.date;/*** erstellt von Pudding am 2017-11-15. (Dynamic Timer wird verwendet, um Nachrichten 10 Minuten vor dem Check-in zu drücken) (! Wecker) */ @componentpublic Class DynamicsDuledTask implementiert SchedulingConfigurer {@autowired Private CheckSystemMapper ChecksystemMapper; @Override public void configuretaSs (afulledTaskRegistrar TaskRegistrar) {TaskRegistrar.AddtrigGerTask (new Runnable () {@Override public void run () {// Business Logic System.out.println ("Reminder-Check-in"); TriggerContext) {// Setzen Sie den nächsten Timer Integer Tag Morntime.indexof (":"); Datum. Minute = Cal.get (Calendar.minute); // Stack String Cron = "0"+Minute+"+Hour+" * "+Tag" "" System.OUT.Println (CRON); Trigger.NextexecutionTime (TriggerContext); }}Grundnutzung von Cron -Parametern:
● Asterisk (): Kann in allen Feldern verwendet werden, um jeden Moment im entsprechenden Zeitbereich darzustellen. Zum Beispiel bedeutet dies "pro Minute".
● Fragezeichen (?): Dieses Zeichen wird nur in den Feldern Datum und Woche verwendet und wird normalerweise als "bedeutungsloser Wert" angegeben, der einem Punktcharakter entspricht.
● Minus Zeichen (-): einen Bereich ausdrücken. Wenn "10-12" im Stundenfeld verwendet wird, bedeutet es von 10 bis 12 Punkten, dh 10, 11, 12;
● Comma (,): Drücken Sie einen Listenwert aus. Wenn Sie "mon, mi, fri" im Wochenfeld verwenden, bedeutet dies Montag, Mittwoch und Freitag.
● Schrägstrich (/): x/y repräsentiert eine gleiche Abfolge, x ist der Startwert und y ist der inkrementelle Schrittwert. Wenn Sie 0/15 im Minute -Feld verwenden, wird es als 0, 15, 30 und 45 Sekunden ausgedrückt, während 5/15 5, 20, 35, 50 im Minute -Feld bedeutet, können Sie auch */y verwenden, was 0/Y entspricht.
● L: Dieser Charakter wird nur in den Feldern Datum und Woche verwendet, die die Bedeutung von "letztem" darstellt, aber es bedeutet in den beiden Feldern unterschiedlich. L In dem Datumsfeld zeigt sich der letzte Tag des Monats an, wie zumor. der 31. Januar und den 28. Februar, was kein Schaltjahr ist; Wenn L in der Woche verwendet wird, zeigt es den Samstag an, der 7 entspricht. Wenn L jedoch in der Woche in der Woche erscheint und einem Wert X vorangegangen ist, bedeutet dies "die letzten x Tage des Monats", zum Beispiel 6L bedeutet am letzten Freitag des Monats;
● W: Dieser Charakter kann nur im Feld Datum erscheinen und ist eine Änderung des Vorderdatums, was den am nächsten dem Datum am nächsten liegenden Arbeitstag angibt. Zum Beispiel stellt 15W den nächsten Arbeitstag bis zum 15. des Monats dar. Wenn der 15. des Monats Samstag ist, passt er am Freitag, den 14., zu. Wenn der 15. des Monats am Sonntag ist, entspricht es am Montag, den 16., am Montag; Wenn der 15. des Monats am Dienstag ist, ist es Dienstag, den 15.. Es muss jedoch angemerkt werden, dass das zugeordnete Matching -Datum nicht in den Monat überschritten werden kann. Wenn Sie 1W angeben, wenn der 1. Tag am Samstag ist, passt das Ergebnis am Montag, dem 3., nicht am letzten Tag des letzten Monats. Eine W -Zeichenfolge kann nur ein einzelnes Datum angeben, kann jedoch keinen Datumsbereich angeben.
● LW -Kombination: LW kann im Datumsfeld verwendet werden, was den letzten Arbeitstag des Monats bedeutet.
● Schlüsselzeichen (#): Dieses Zeichen kann nur im Bereich der Woche verwendet werden und stellt einen Arbeitstag des Monats dar. Zum Beispiel repräsentiert 6#3 den dritten Freitag des Monats (6 steht am Freitag dar,#3 repräsentiert momentan die dritte), während 4#5 den fünften Mittwoch im Monat darstellt, vorausgesetzt, der Monat hat nicht den fünften Mittwoch, wird ignoriert und nicht ausgelöst.
● C: Dieser Charakter wird nur in den Feldern Datum und Woche verwendet, die die Bedeutung von "Kalender" darstellt. Dies bedeutet das mit dem Plan verbundene Datum, und wenn das Datum nicht zugeordnet ist, entspricht es allen Daten im Kalender. Zum Beispiel entspricht 5c im Datumsfeld dem ersten Tag nach dem 5. Tag des Kalenders. 1C entspricht dem ersten Tag nach Sonntag im Wochenfeld.
Cron -Ausdrücke sind nicht empfindlich gegenüber Sonderzeichen und sind nicht empfindlich für die Abkürzung des englischen Falls der Woche.
Tabelle 2 zeigt einige Beispiele für vollständige Cron -Darstellungen unten:
Cron -Ausdruck bedeutet "0 0 12 * *?" Trigger "0 15 10? * *" Trigger "0 15 10 * *?" Trigger "0 15 10 * *?" Trigger "0 15 10 * * *? *" Trigger "0 15 10 * *? *" Trigger "0 15 10 * *? 2005" Trigger "0 * 14 * *?" Trigger "0 0/5 14 * *?" Trigger "0 0/5 14 * *?" Trigger "0 0/5 14,18 * *?" Trigger "0 0/5 14,18 *?" Trigger "0 0/5 14,18 *?" 0 0-5 14 * *? " Alle 5 Minuten von 2:00 bis 14:05 pro Tag löst "0 10,44 14? 3 Mi "Jeden Mittwoch im März Trigger" 0 15 10? * Montag, jeden Montag, Dienstag, Mittwoch, Donnerstag und Freitag.
Zusammenfassen
Die oben genannte Verwendung von Springboot Dynamic Timer, der Ihnen vom Editor vorgestellt wurde. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!