Автор оригинала: mkyong.
В этом уроке мы покажем вам, как создать простой проект веб-приложения с помощью Apache Struts 1.x и интегрировать его с платформой планировщика Quartz. Во время запуска проекта он запустит механизм Quartz и запустит определенную задачу планировщика.
Общая идея довольно проста, вам просто нужно создать плагин Quartz Struts для работы по интеграции.
Struts <--> Quartz Struts Plug-in <--> Quartz
Используемые инструменты:
- Стойки Apache 1.3.10
- Кварц 2.1.5
- Среда разработки Eclipse
- Мавен
1. Зависимость
Получите зависимости от распорок и кварца через Maven.
Файл: pom.xml
org.apache.tomcat servlet-api 6.0.35 org.apache.struts struts-core 1.3.10 org.apache.struts struts-taglib 1.3.10 org.apache.struts struts-extras 1.3.10 org.quartz-scheduler quartz 2.1.5
2. Задание планировщика Quartz
Создайте задание Quartz для печати сообщения.
Файл: SchedulerJob.java
package com.mkyong.common.quartz;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class SchedulerJob implements Job
{
public void execute(JobExecutionContext context)
throws JobExecutionException {
System.out.println("Print Print Struts 1.3 + Quartz 2.1.5 integration example ~");
}
}
3. Распорки Подключаемый модуль
Создайте простой плагин Struts и интегрируйте фреймворки Quartz. В этом плагине во время инициализации Struts будет вызываться метод init() , который запускает задание планировщика Quartz каждые 5 секунд.
Файл: QuartzPlugin.java
package com.mkyong.common.plugin;
import javax.servlet.ServletException;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;
import org.quartz.CronScheduleBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
import com.mkyong.common.quartz.SchedulerJob;
public class QuartzPlugin implements PlugIn {
@Override
public void destroy() {
// null
}
@Override
public void init(ActionServlet servlet, ModuleConfig config)
throws ServletException {
JobDetail job = JobBuilder.newJob(SchedulerJob.class)
.withIdentity("anyJobName", "group1").build();
try {
Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("anyTriggerName", "group1")
.withSchedule(
CronScheduleBuilder.cronSchedule("0/5 * * * * ?"))
.build();
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.scheduleJob(job, trigger);
} catch (SchedulerException e) {
e.printStackTrace();
}
}
}
4. Объявляет Плагин
Включить выше Плагин Struts в файл конфигурации Struts (struts-config.xml ).
Файл: struts-config.xml
5. Демонстрация
Во время запуска Struts запустите задачу планировщика Quartz.
Скачать Исходный Код
Рекомендации
Оригинал: “https://mkyong.com/struts/struts-quartz-scheduler-integration-example/”