Пример планировщика Struts 1 + Spring 2.5.6 + Quartz 1.6
В этом руководстве вы объедините платформу Struts + Spring + Quartz вместе для выполнения задачи планировщика. Spring поставляется с готовым решением для простой интеграции Struts и Quartz. Отношения следующие:
Struts <--(Plug-In)--> Spring <--(Spring-Helper)--> Quartz <---> Scheduler task
Используемые инструменты:
-
Struts 1.3.10
-
Весна 2.5.6
-
Кварц 1.6.3
1. Задача планировщика
Создайте задачу планировщика, иprintMessage()
- это метод, который вы хотите запланировать.
Файл: SchedulerTask.java
package com.example.common.quartz; public class SchedulerTask { public void printMessage() { System.out.println("Struts + Spring + Quartz integration example ~"); } }
2. Планировщик заданий
Чтобы интегрировать Spring с Quartz, создайте SchedulerJob, который расширяет SpringQuartzJobBean
, вместо класса Quartz Job.
Файл: SchedulerJob.java
package com.example.common.quartz; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; public class SchedulerJob extends QuartzJobBean { private SchedulerTask schedulerTask; public void setSchedulerTask(SchedulerTask schedulerTask) { this.schedulerTask = schedulerTask; } protected void executeInternal(JobExecutionContext context) throws JobExecutionException { schedulerTask.printMessage(); } }
3. Помощник весеннего кварца
Spring поставляется с множеством вспомогательных классов Quartz для упрощения общих процессов планировщика Quartz - Scheduler, Trigget, Job и JobDetails.
Файл: spring-scheduler.xml
4. Распорки
Чтобы интегрировать Spring со Struts, вам необходимо включить SpringContextLoaderPlugIn
в файл конфигурации Struts.
Файл: struts-config.xml
5. Как это устроено
Во время инициализации Struts он запустит контейнер Spring Ioc через подключаемый модуль SpringContextLoaderPlugIn
Struts; Во время инициализации Spring он автоматически запустит запланированное задание Quartz.
В этом примере методprintMessage()
будет выполняться каждые 5 секунд.
Скачать исходный код
Скачать -Struts-Spring-Quartz-Example.zip
Рекомендации
Для более подробного объяснения вы можете обратиться к следующим руководствам.