Streben 2 + Feder 3 + Quarz 1.8 Scheduler Beispiel
In diesem Tutorial zeigen wir Ihnen, wie SieStruts 2 + Spring 3 + Quartz 1.8.6 integrieren.
Why NOT Quartz 2?
Derzeit unterstützt Spring 3 noch KEINE Quarz 2-APIs (sieheSPR-8581 bug report). Aktualisiert diesen Artikel erneut, sobald der Fehler behoben ist.
Benutztes Werkzeug
-
Frühling 3.1.5.FREIGABE
-
Quarz 1.8.6
-
Streben 2.3.4
-
Struts2-Feder-Plugin 2.3.4
-
Maven 3
-
Eclipse 4.2
1. Projektordner
Hier ist die endgültige Struktur des Projektordners.
2. Abhängigkeitsbibliotheken
Die Integration ist mit diesemSpring 2.5.6 + Quartz 1.6 ähnlich, nur die Abhängigkeiten von Spring3 sind etwas chaotisch. Lesen Sie unten die Maven pom.xml für alle Abhängigkeiten, die Sie zur Entwicklung dieses Tutorials benötigen.
In den XML-Kommentaren erfahren Sie, warum Sie dieses Glas benötigen.
Datei: pom.xml
...... org.apache.struts struts2-core 2.3.4 org.quartz-scheduler quartz 1.8.6 org.springframework spring-core 3.1.2.RELEASE org.springframework spring-context 3.1.2.RELEASE org.springframework spring-context-support 3.1.2.RELEASE org.springframework spring-web 3.1.2.RELEASE org.springframework spring-tx 3.1.2.RELEASE org.apache.struts struts2-spring-plugin 2.3.4
3. Feder 3 + Quarz
Um sowohl Spring3 als auch Quartz zu integrieren, erweitert eine Klasseorg.springframework.scheduling.quartz.QuartzJobBean
und implementiert die MethodeexecuteInternal()
, genau wie Sie einen Scheduler-Job in Quartz erstellen.
Datei: SchedulerJob.java
package com.example.quartz; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; public class SchedulerJob extends QuartzJobBean { protected void executeInternal(JobExecutionContext context) throws JobExecutionException { System.out.println("Struts 2.3.4 + Quartz 1.8.6 + Spring 3.1.2"); } }
File : applicationContext.xml - Setzt den gesamten Quartz-Scheduler und die Spring-Details inapplicationContext.xml
. Einzelheiten finden Sie in den XML-Kommentaren.
4. Streben 2 + Feder 3
UmStruts 2 + Spring zu integrieren, fügen Sie einfach die Listener-Klasseorg.springframework.web.context.ContextLoaderListener
in die Dateiweb.xml
ein.
Note
Für Details lesen Sie bitte dieseStruts 2 + Spring
integration example.
Datei: web.xml
Struts 2 Web Application struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* org.springframework.web.context.ContextLoaderListener
5. Demo
Wenn Strut2 gestartet wird, ruft es Spring auf und führt den definierten Quarzjob aus.
Jul 24, 2012 4:49:07 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] Jul 24, 2012 4:49:07 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] Jul 24, 2012 4:49:07 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 3430 ms Struts 2.3.4 + Quartz 1.8.6 + Spring 3.1.2 //run this every 10 seconds. Struts 2.3.4 + Quartz 1.8.6 + Spring 3.1.2 Struts 2.3.4 + Quartz 1.8.6 + Spring 3.1.2
Quellcode herunterladen
Laden Sie es herunter -Struts2-Spring3-Quartz-Example.zip (20 KB).