Пример планировщика 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
Рекомендации
Для более подробного объяснения вы можете обратиться к следующим руководствам.