Der Prozess der Konfiguration von Quarz im Frühjahr:
1. JAR -Paket importieren
Das von Quartz benötigte JAR-Paket ist bereits in Spring enthalten, das nach der Dekompression des Frühlings in Quartz-All-1.6.1.jar unter /lib /quartz im Verzeichnis liegt.
Kopieren Sie es einfach in die Web-INF/LIB des Projekts.
2. Konfigurieren Sie Web.xml, um die Quartz -Konfigurationsdatei zu laden, wenn die Feder startet
<? XSI: Schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app-app-app-app-app-app-app-app-_2- <param-name>contextConfigLocation</param-name> <param-value>classpath:application-*.xml</param-value> </context-param> <!-- spring listening--> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> </web-app>
3..
<? xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: tx = "http://www.spingframework.org/schema/tx" xsi: Schemalocation = "http://wwwwwwwwwwwwwwwwwwwwwwww.Stx http://www.springframework.org/schema/beans/spring-beans-2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5sd http://www.springFramework.org/schema/tx http://www.springframework.org/schema/tx/sping-tx/sping-tx-tx-2.5.5.5.1 !- <bean id = "testtaskbean" /> <!-Task-Methode für zeitgesteuerte Aktualisierung der Richtlinien-> <bean id = "testTaskTimerMethod"> <Eigenschaft name = "targetObject" ref = "testtaskbean" /> <!-targetMethod-Methodenname für die Konfiguration von Zeitabläufe-> <PropertyMethod "Value". </bean> <!-Timed Update-Richtlinienauslöser-> <bean id = "testTasktrigger"> <Eigenschaft name = "Jobdetail" ref = " /> </bean> <!-benutzerdefinierte Aufgabenliste-> <bean id = "Scheduler"> <Eigenschaft name = "Triggers"> <list> <ref bean = "testTasktrigger"/> </list> </property> </bean> </beans>
4. Schreiben Sie eine Java -Klasse -Testtask, die Aufgaben ausführt
Paket com.jp.task; import org.quartz.jobexecutionContext; import org.quartz.jobexecutionException; import org.springframework.Scheduling.quartz.quartzjobbean; public class testtask erweitert Quartzjobbean {logger log = logger.getLogger (policyServicetest.class); public void executeActction () {log.info ("Hallo Quartz"); } @Override Protected void executeInternal (JobExecutionContext arg0) löst JobExecutionException {}} aus 5. Alle Arbeiten sind fertig und laufen. Grundsätzlich wurde ein Fehler gemeldet. Es geht um einen NoSuchmethod -Fehler.
Dies liegt an der niedrigen Version von Commons-collections.jar. Mussten Commons-Collections-3.2.jar oder höher.
Zu diesem Zeitpunkt suchen Sie nach einem Commons-Sammeln-3.2.jar im Projekt. Was ist los? Wenn Sie erneut danach suchen, werden Sie feststellen, dass es in Hibernate eine Commons-Sammlung 2.1.1.Jar gibt.
Löschen Sie einfach Commons-Collections-2.1.1.Jar.
PS: Cronexpression-CRON-Ausdrucksbeschreibung
Der Cron -Trigger verwendet eine Reihe von Sonderzeichen, wie unten gezeigt:
Das Backslash (/) -Scharakter gibt den inkrementellen Wert an. Zum Beispiel bedeutet "5/15" in den Sekunden Feld ab der fünften Sekunde, einmal alle 15 Sekunden.
Frage Markus (?) Charaktere und Buchstaben l Charaktere sind nur zum Zeitpunkt des Monats und des Datums der Woche erhältlich. Ein Fragezeichen zeigt an, dass dieses Feld keine spezifischen Werte enthält. Wenn Sie also ein Datum innerhalb des Monats angeben, können Sie einfügen "?" In dem Datum innerhalb der Woche, um anzuzeigen, dass der Datumswert innerhalb der Woche keine Rolle spielt. Der Buchstaben L -Charakter ist die Abkürzung des letzten. Setzen Sie es in das Feld Intramonth Datum, was bedeutet, dass es am letzten Tag des Monats ausgeführt werden soll. Wenn "L" allein im Intraweek -Datum existiert, ist es gleich "7", andernfalls repräsentiert es die letzte Instanz des intrawek -Datums im Monat. "0L" bedeutet daher, dass es am letzten Sonntag im Monat ausgeführt werden soll.
Der Buchstaben (W) -Zeichen im Datumsfeld innerhalb des Monats plant die Ausführung des Arbeitstages, der dem angegebenen Wert am nächsten liegt. Wenn Sie "1W" in das monatliche Feld einsetzen, ist die Ausführung innerhalb des ersten Arbeitstages des Monats geplant.
Das Pfundzeichen (#) -Charakter gibt eine bestimmte Instanz am Arbeitstag für einen bestimmten Monat an. Wenn Sie "Mon#2" in das Feld Intraweek Datum aufnehmen, planen Sie die Aufgabe am zweiten Montag des Monats.
Das Sternchen (*) -Scharakter ist ein Wildcard -Charakter, das bedeutet, dass das Feld mögliche Werte akzeptieren kann.
Sonderzeichen, die durch Feld zulässigen Werten zulässig sind:
0-59 Sekunden, - * /
0-59, - * /
Stunden 0-23, - * /
Datum 1-31, - *? / LWC
Monate 1-12 oder Jan-Dec,- * /
Woche 1-7 oder Sonnen-sa,- *? / LC #
Jahr (optional) Leave Blank, 1970-2099, - * /
Ausdrucksbedeutung
"0 0 12 * *?" Jeden Tag um 12 Uhr ausgelöst
"0 15 10? * *", Löste jeden Tag um 10:15 Uhr aus
"0 15 10 * *?" Jeden Tag um 10.15 Uhr ausgelöst
"0 15 10 * *? *", Löste jeden Tag um 10:15 Uhr aus
"0 15 10 * *? 2005" ausgelöst um 10:15 Uhr im Jahr 2005
"0 * 14 * *?" Trigger alle 1 Minute zwischen 14 Uhr und 14.59 Uhr
"0 0/5 14 * *?" Alle 5 Minuten zwischen 14 und 14.55 Uhr jeden Tag ausgelöst
"0 0/5 14,18 * *?" Alle 5 Minuten zwischen 14.55 Uhr und zwischen 18.55 Uhr und zwischen 18:55 Uhr und alle 5 Minuten zwischen 18.55 Uhr und zwischen 5 Minuten ausgelöst
"0 0-5 14 * *?" Jeden Tag alle 1 Minute zwischen 14 und 14:05 Uhr ausgelöst
"0 10,44 14? 3 Wed" löst jeden Mittwoch um 14:10 und 14:44 Uhr aus
"0 15 10? * Mon-Fr." Aus Montag bis Freitag von 10:15 Uhr ausgelöst
"0 15 10 15 *?" Ausgelöst am 15. eines jeden Monats um 10.15 Uhr ausgelöst
"0 15 10 l *?" Ausgelöst am letzten Tag eines jeden Monats um 10.15 Uhr ausgelöst
"0 15 10? * 6l" wurde am letzten Freitag eines jeden Monats um 10:15 Uhr ausgelöst
"0 15 10? * 6L 2002-2005" Ausgelöst am letzten Freitag im Monat von 2002 bis 2005 um 10:15 Uhr ausgelöst
"0 15 10? * 6#3" Trigger jeden Tag um 10:15 Uhr am dritten Freitag im Monat um 6 Uhr morgens
0 6 * * * *
Alle zwei Stunden
0 */2 * * * * *
Alle zwei Stunden zwischen 23 Uhr und 8 Uhr, 8 Uhr morgens
0 23-7/2, 8 * * * * *
Am 4. eines jeden Monats und von Montag bis Mittwoch jede Woche um 11 Uhr.
0 11 4 * 1-3
1. Januar um 4 Uhr morgens.
0 4 1 1 *