Spring Scheduling Annotations

Anmerkungen zur Frühjahrsplanung

1. Überblick

Wenn die Ausführung mit einem Thread nicht ausreicht, können wir Anmerkungen aus dem Paketorg.springframework.scheduling.annotationverwenden.

In diesem kurzen Tutorial werden wir die Spring Scheduling Annotations untersuchen.

2. @EnableAsync

Mit dieser Annotation können wir die asynchrone Funktionalität in Spring aktivieren.

Wir müssen es mit@Configuration verwenden:

@Configuration
@EnableAsync
class VehicleFactoryConfig {}

Nachdem wir asynchrone Aufrufe aktiviert haben, können wir@Async verwenden, um die Methoden zu definieren, die dies unterstützen.

3. @EnableScheduling

Mit dieser Anmerkung können wir die Zeitplanung in der Anwendung aktivieren.

Wir müssen es auch in Verbindung mit@Configuration verwenden:

@Configuration
@EnableScheduling
class VehicleFactoryConfig {}

Infolgedessen können wir jetzt Methoden periodisch mit@Scheduled ausführen.

4. @Async

Wir können Methoden definieren, die wirexecute on a different thread wollen, und sie daher asynchron ausführen.

Um dies zu erreichen, können wir die Methode mit@Async kommentieren:

@Async
void repairCar() {
    // ...
}

Wenn wir diese Annotation auf eine Klasse anwenden, werden alle Methoden asynchron aufgerufen.

Beachten Sie, dass wir die asynchronen Aufrufe aktivieren müssen, damit diese Annotation mit@EnableAsync oder XML-Konfiguration funktioniert.

Weitere Informationen zu@Async finden Sie inthis article.

5. @Scheduled

Wenn wir eine Methode fürexecute periodically benötigen, können wir diese Annotation verwenden:

@Scheduled(fixedRate = 10000)
void checkVehicle() {
    // ...
}

Wir können es verwenden, um eine Methode beifixed intervals auszuführen, oder wir können sie mitcron-like expressions fein abstimmen.

@Scheduled nutzt die Funktion zum Wiederholen von Anmerkungen in Java 8, was bedeutet, dass wir eine Methode damit mehrmals markieren können:

@Scheduled(fixedRate = 10000)
@Scheduled(cron = "0 * * * * MON-FRI")
void checkVehicle() {
    // ...
}

Beachten Sie, dass die mit@Scheduled annotierte Methode den Rückgabetypvoid haben sollte.

Darüber hinaus müssen wir die Planung aktivieren, damit diese Annotation beispielsweise mit@EnableScheduling oder XML-Konfiguration funktioniert.

Weitere Informationen zum Planen finden Sie unterthis article.

6. @Schedules

Wir können diese Annotation verwenden, um mehrere@Scheduled-Regeln anzugeben:

@Schedules({
  @Scheduled(fixedRate = 10000),
  @Scheduled(cron = "0 * * * * MON-FRI")
})
void checkVehicle() {
    // ...
}

Beachten Sie, dass wir seit Java 8 dasselbe mit der oben beschriebenen Funktion für sich wiederholende Anmerkungen erreichen können.

7. Fazit

In diesem Artikel haben wir einen Überblick über die häufigsten Anmerkungen zur Frühjahrsplanung erhalten.

Wie üblich sind die Beispiele inover on GitHub verfügbar.