Aufgabenplanung bezieht sich auf automatische Ausführung von Aufgaben, die auf einem bestimmten Zeitpunkt, einem bestimmten Zeitintervall oder einer bestimmten Anzahl von Ausführungen basieren.
Zum Beispiel möchten wir, dass ein System die Datenbankdatei jeden Sonntag um 21 Uhr sichert, und wir können die Aufgabenplanung verwenden, um sie zu implementieren. Für mehr Bequemlichkeit müssen wir diese Zeitplanung automatisch starten, nachdem Tomcat gestartet wurde.
Hier ist die Timertask -API:
Unten finden Sie die Timer -Klassen -API
Im folgenden Beispiel werden zwei Funktionen implementiert:
1. Überwachen Sie das Start und die Abschaltung des Webcontainers von Tomcat
2. Wenn der Webcontainer gestartet wird, verteilt der Aufgabenplan das Aufgabenobjekt, die Zeit und Zeit.
Um Änderungen in Webcontainern zu überwachen, müssen Sie zuerst einen Listener in web.xml registrieren
<? XSI: Schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <! <hörerklasse> com.util.timerListener </Listener-Klasse> </Listener> <display-name> </display-name> <Welcome-File-List> <Welcome-File> Index.jsp </willkommen
Der zweite Schritt besteht darin, ein Task -Objekt zu definieren, den grundlegenden Timertask
Paket com.util; import Java.util.timer; importieren java.util.timertask;/** * 1. Definieren Sie ein Task -Objekt * JDK - Das Task -Objekt muss Timertask * * */public class -Datenbilder erweitern, erweitert Timertask {@override öffentlich run () {// beschreibt. Übergänge und Daten an die lokale SQL -Datei "); }}Schritt 3. Überwachen Sie die Änderungen im Webcontainer. Wenn der Webcontainer gestartet wird, teilen Sie Zeit und Zyklen für die Aufgabenplanung zu. Der folgende Code enthält mehrere Beispiele.
Paket com.util; import java.util.date; import java.util.timer; import javax.servlet.servletContexTevent; importieren javax.servlet.servletContextListener; öffentliche Klasse TimerListener implements servletContextListener {private static Timer Timer Timer; / *** Hören Sie Web -Container -Schließen*/ @Override public void contextDestroyed (ServletContexevent scce) {System.out.println ("Webcontainerschließung"); timer.cancel (); } / *** Hören Sie Web -Container -Startup* / @Override public void contextInitialized (ServletContexEvent scet) {System.out.println ("Web -Container -Start"); / *** Timer -Messgerät vorbereiten*/ timer = new Timer (); System.out.println ("Der Timer ist in Vorbereitung und beginnt, Zeit und Zeiträume für die Aufgabenplanung zuzuweisen"); // Task -Object -DataBackup backup = new DataBackup (); // 1 Zeitplan (TimerTask -Aufgabe, Datenzeit) // Die angegebene Aufgabe planen, um die Ausführung zum angegebenen Zeitpunkt zu starten // Der Monat sollte durch eins reduziert werden //timer.Schedule(backup, neues Datum (115,8,10,9,54,0)); // 2 Zeitplan (TimerTask -Aufgabe, Datum Erstmal, langer Zeitraum) // Zeitplan (Sicherung, neues Datum (115,8,10,10,0,0), 2000); //3schedule(TimerTask task, long delay) //Schedule(TimerTask task, long delay) //Schedule(TimerTask task, long delay) //Schedule(TimerTask task, long delay) //Schedule(TimerTask task, long delay) //Schedule(TimerTask task, long delay) //Schedule(TimerTask task, long delay) //Schedule(TimerTask task, long delay) //Schedule(TimerTask task, long delay) //Schedule(TimerTask Aufgabe, lange Verzögerung) //timer.Schedule(backup, 5000); // 4 Zeitplan (TimerTask -Aufgabe, lange Verzögerung, lange Zeitraum) //timer.Schedule(backup, 5000, 2000); // 5. Tief einmal um 9 Uhr morgens um 9 Uhr ab //timer. // 6. Turnieren Sie jeden Samstag um 3 Uhr morgens //timer.Schedule(backup, neues Datum (115,8,12,3,0,0), 7*24*60*60*1000); }} Auf diese Weise beginnt das Task -Objekt, wenn Tomcat gestartet wird, entsprechend Ihrer zugewiesenen Zeit und Ihrem Zyklus.
Zusammenfassung: Verwenden Sie den Timer, um die Aufgabenplanung zu implementieren. Erstellen Sie zuerst ein definiertes Task -Objekt wie die Sicherung hier. Instanziieren Sie dann einen Timer, instanziieren Sie das Task -Objekt und rufen Sie die entsprechende Methode gemäß den Anforderungen auf, um dem Aufgabenobjekt Zeit und Periode zuzuordnen. Die oben genannte ist die Implementierung der Aufgabenplanung. Wenn dieser Timer beginnt, muss der Timer anhand der tatsächlichen Situation festgelegt werden, wenn der Timer beginnt. Zum Beispiel soll der obige Code den Timer starten, nachdem der Webcontainer gestartet wurde.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.