Автор оригинала: 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/”