Apropos geplante Aufgaben: Wir sollten an @Scheduled, Quartz und XXL-JOB denken. Einige einzelne Dienste oder kleine Projekte können jedoch aus Bequemlichkeits- und Geschwindigkeitsgründen direkt @Scheduled verwenden, um asynchrone Aufgaben zu implementieren. Daher werden die Theme-Anforderungen dieses Artikels erweitert.
Wenn @Scheduled in einem Projekt verwendet wird, wie kann die angegebene asynchrone Aufgabe im Voraus ausgeführt werden, wenn das Projekt gestartet wird?
1. Detaillierte Erklärung von @Scheduled
Die @Scheduled-Annotation unterstützt mehrere Parameter zur flexiblen Steuerung der Aufgabenausführungszeit.
cron: Cron-Ausdruck, der Sekunden, Minuten, Stunden, Tage, Monate, Wochen usw. genau steuern kann.
Zone: Erhalten Sie eine Zeitzone, z. B. Asien/Shanghai, die von uns normalerweise verwendete Zeitzone. Normalerweise lassen wir dieses Feld leer.
FixedDelay: Gibt an, wie lange nach dem letzten Ausführungszeitpunkt die Ausführung erneut ausgeführt wird. Wie zum Beispiel @Scheduled(fixedDelay = 5000)
FixedDelayString: hat die gleiche Bedeutung wie FixedDelay, jedoch in Form einer Zeichenfolge. Der einzige Unterschied besteht darin, dass Platzhalter wie @Scheduled(fixedDelayString = "5000") unterstützt werden.
FixedRate: Wie lange nach dem letzten Start der Ausführungszeit, z. B. @Scheduled(fixedRate = 5000)
FixedRateString: hat die gleiche Bedeutung wie FixedRate, jedoch in Form einer Zeichenfolge. Der einzige Unterschied besteht darin, dass Platzhalter unterstützt werden.
initialDelay: Wie lange die Ausführung zum ersten Mal verzögert werden soll, beträgt die erste Verzögerung vor der Ausführung alle 5 Sekunden gemäß der FixedRate-Regel )
initialDelayString: hat die gleiche Bedeutung wie initialDelayString, jedoch in Form einer Zeichenfolge. Der einzige Unterschied besteht darin, dass Platzhalter unterstützt werden.
2. Logikimplementierung
1. Erstellen Sie eine Logikmethode für geplante Aufgaben
Hinweis: Denken Sie daran, @EnableScheduling zur Startklasse hinzuzufügen, damit die geplante Aufgabe ausgeführt wird. Dies hat natürlich keinen Einfluss auf den Logiktest dieses Artikels.
3. Testergebnisse
Sehen Sie sich nach dem Start des Dienstes die Druckinformationen an