[JAVA] Aufgabenplan für das Spring Boot Tutorial

Ich habe ein Programm erstellt, das regelmäßig Aufgaben ausführt, indem ich mich auf das offizielle Spring-Boot-Tutorial beziehe (Aufgabenplan).

Umgebung

Apache Maven 3.6.3 Betriebssystem: macOS Mojave Version 10.14.6 Texteditor: VSCode Java: 11.0.2

Erstellen

Öffnen Sie zunächst Spring Initializr und erstellen Sie eine Grundlage mit den folgenden Inhalten.

スクリーンショット 2020-07-14 10.56.39.png

Entpacken Sie die resultierende Zip-Datei und öffnen Sie sie in einem Editor.

Fügen Sie pom.xml die folgenden Abhängigkeiten hinzu.

<dependency>
  <groupId>org.awaitility</groupId>
  <artifactId>awaitility</artifactId>
  <version>3.1.2</version>
  <scope>test</scope>
</dependency>

Awaitility ist eine * Bibliothek, die eine einfache domänenspezifische Sprache (DSL) für asynchrone Systemtests * bereitstellt. (Aus Einführung in die Wartbarkeit)

Erstellen Sie eine ScheduledTasks.java-Datei unter src / main / java / com / example / schedulingtasks.

Der Inhalt ist wie folgt.

ScheduledTasks.java


package com.example.schedulingtasks;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class ScheduledTasks {

	private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);

	private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

	@Scheduled(fixedRate = 5000)
	public void reportCurrentTime() {
		log.info("The time is now {}", dateFormat.format(new Date()));
	}
}

fixedRate gibt das Intervall zwischen Methodenaufrufen an, gemessen ab der Startzeit jedes Aufrufs. Andere Optionen, wie z. B. fixedDeley, geben das Intervall zwischen Aufrufen ab Abschluss der Aufgabe an.

@Scheduled Führen Sie die Aufgabe regelmäßig aus. Sie können aus einer Vielzahl von Optionen auswählen (Tabelle unten). Geben Sie den Ausführungszyklus mit der Anmerkung "Geplant" für die Aufgabe an, die Sie regelmäßig ausführen möchten. Diese Anmerkung kann nur für Methoden angegeben werden, die keine Argumente annehmen. (Es führt nicht zu einem Kompilierungsfehler, aber zur Laufzeit tritt eine Ausnahme auf.)

Dieses Mal werde ich die Aufgabe alle 5 Sekunden mit fixedRate ausführen.

field description
fixedDelay Wie viele Millisekunden nach der letzten Ausführungsabschlusszeit der Methode wird ausgeführt.
fixedRate Wie viele Millisekunden nach dem Start der letzten Ausführung der Methode?
initialDelay Wartezeit für die erste Ausführung der Methode.
cron Schreiben Sie cron und legen Sie den Zeitplan fest. Sie können die Zeitzone auch mithilfe der Zone angeben.

Sie können auch (cron = "...") für erweiterte Einstellungen verwenden.

Logger und LoggerFactory dienen zur Ausgabe des Ergebnisses an die Konsole. Sie können das Protokoll anzeigen, indem Sie die Klasse im Argument von LoggerFactory.getLogger () angeben.

Fügen Sie dann den Code zur automatisch erstellten Datei SchedulingTasksApplication.java unter src / main / java / com / example / schedulingtasks / hinzu.

Der Inhalt ist wie folgt.

SchedulingTasksApplication.java


package com.example.schedulingtasks;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling
public class SchedulingTasksApplication {

	public static void main(String[] args) {
		SpringApplication.run(SchedulingTasksApplication.class);
	}
}

@SpringBootApplication Dies ist eine praktische Anmerkung, die als Anmerkung für drei Personen dient. Es enthält die folgenden drei Anmerkungen.

@Configuration Sie können zusätzliche Beans im Kontext registrieren und zusätzliche Konfigurationsklassen importieren.

@Bean Es dient zur Rückgabe der Klasse, die durch die Methode instanziiert wurde, die @Bean beschreibt.

@EnableAutoConfiguration Aktiviert den automatischen Konfigurationsmechanismus von Spring Boot.

@ComponentScan Suchen Sie nach anderen Komponenten, Einstellungen usw. im Paket und weisen Sie Spring an, den Controller zu suchen.

@EnableScheduling Aktivieren Sie den Zeitplan.

Lauf

Der Code ist jetzt vollständig. Führen wir es mit dem folgenden Befehl aus.

./mvnw spring-boot:run

Die Aufgabe wird alle 5 Sekunden ausgeführt. スクリーンショット 2020-07-14 10.32.52.png

Es war einfach zu erstellen, ohne Abhängigkeiten hinzuzufügen!

Recommended Posts

Aufgabenplan für das Spring Boot Tutorial
Spring Boot Tutorial Verwenden der Spring Security-Authentifizierung
[Tutorial] Spring Batch
Fordern Sie Spring Boot heraus
Spring Boot Form
Spring Boot Denken Sie daran
gae + frühlingsstiefel
Anmerkungen, die in Spring Boot-Aufgabenverwaltungstools verwendet werden
Zeigen Sie die Gradle-Aufgabe im Spring Boot-Projekt an
SPRING BOOT Lernaufzeichnung 01
[Ich habe es versucht] Spring Tutorial
Frühlingsstiefel + Heroku Postgres
Schreiben von Frühlingsstiefel-Memos (1)
Erster Frühlingsstiefel (DI)
SPRING BOOT Lernprotokoll 02
Spring Boot2 Spickzettel
Spring Boot-Ausnahmebehandlung
Spring Boot Servlet-Zuordnung
Spring Boot Entwicklung-Entwicklungsumgebung-
Spring Boot-Lernverfahren
Spring Boot lernen [Anfang]
Schreiben von Spring Boot-Memos (2)
Spring Boot 2.2 Dokumentzusammenfassung
[Spring Boot] DataSourceProperties $ DataSourceBeanCreationException
Spring Boot 2.3 Verfügbarkeit von Anwendungen
Spring Boot Tutorials Themen
Mit Spring Boot herunterladen
[Spring Boot] Umgebungskonstruktion (macOS)
Legen Sie den Kontextparameter in Spring Boot fest
Versuchen Sie Spring Boot von 0 bis 100.
Generieren Sie mit Spring Boot einen Barcode
Hallo Welt mit Spring Boot
Spring Boot unter Microsoft Azure
Implementieren Sie GraphQL mit Spring Boot
Spring 5 & Spring Boot 2 Praktisches Vorbereitungsverfahren
Beginnen Sie mit Spring Boot
Hallo Welt mit Spring Boot!
Spring Boot 2 Multiprojekt mit Gradle
[Spring Boot] Erstellung von Webanwendungen
Führen Sie LIFF mit Spring Boot aus
SNS-Login mit Spring Boot
Spring Boot Hot Swapping-Einstellungen
[Java] Thymeleaf Basic (Spring Boot)
Einführung in Spring Boot ~ ~ DI ~
Datei-Upload mit Spring Boot
Spring Boot beginnt mit dem Kopieren
Einführung in Spring Boot ② ~ AOP ~
CICS-Java-Anwendung ausführen- (4) Spring Boot-App
Spring Boot beginnend mit Docker
Spring Boot + Springfox Springfox-Boot-Starter 3.0.0 Verwendung
Tipps zur Spring Boot DB
Hallo Welt mit Spring Boot
Setzen Sie Cookies mit Spring Boot
[Spring Boot] Einfaches Rezept für den Paging-Prozess
Verwenden Sie Spring JDBC mit Spring Boot
Aufbau der Docker x Spring Boot-Umgebung
Wichtige Änderungen in Spring Boot 1.5
Modul mit Spring Boot hinzufügen
Erste Schritte mit Spring Boot
NoHttpResponseException in Spring Boot + WireMock