Стойки 2 + Пружина 2.5.6 + Пример интеграции планировщика Quartz
В этом уроке мы покажем вам, как объединить Struts2 + Spring 2.5.6 + Quartz 1.6.5 планировщик вместе. Отношения выглядят так:
Struts 2 <-- Plugin --> Spring <--(Helper)--> Quartz <---> Scheduler task
Используемые инструменты
- Весна 2.5.6
- Кварц 1.6.3
- Стойки 2.1.8
- Распорки 2-пружина-плагин 2.1.8
- Мавен 2
- Затмение 3.6
1. Папка проекта
Вот структура папок проекта.
2. Библиотеки зависимостей
Получите все библиотеки зависимостей, вам нужны Spring, Struts2, Struts2-Spring-плагин и файл Quartz jar.
Файл: pom.xml
...... org.apache.struts struts2-core 2.1.8 opensymphony quartz 1.6.3 commons-collections commons-collections 3.2.1 org.springframework spring 2.5.6 org.springframework spring-web 2.5.6 org.apache.struts struts2-spring-plugin 2.1.8
3. Задача планировщика
Поместите всю логику планировщика в этот класс.
Файл: SchedulerTask.java
package com.mkyong.quartz; public class SchedulerTask { public void printSchedulerMessage() { System.out.println("Struts 2 + Spring + Quartz ......"); } }
4. Пружина + Кварц
Чтобы интегрировать Spring и Quartz, создайте класс, расширяющий org.springframework.планирование.кварц. QuartzJobBean
, ссылка на задачу планировщика ( SchedulerTask.java ) с помощью метода настройки и поместите логику планировщика в метод executeInternal()
.
Файл: SchedulerJob.java
package com.mkyong.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.printSchedulerMessage(); } }
Файл: applicationContext.xml – Создать applicationContext.xml
файл, поместите все Пружинные + кварцевые интеграционные материалы внутрь. Прочитайте комментарии XML для получения подробной информации.
5. Стойки 2 + Пружина
Чтобы интегрировать Стойки 2 +пружина , просто поместите org.springframework.web.контекст. ContextLoaderListener
класс прослушивателя в web.xml
файл.
Файл: web.xml
Struts 2 Web Application struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* org.springframework.web.context.ContextLoaderListener
6. Демонстрация
Когда запускается Strut 2, он вызывает Spring и запускает вызов задания определенного Quartz schedulertask.printschedulermessage()
каждые 10 секунд.
INFO: ... initialized Struts-Spring integration successfully 16 Julai 2010 12:51:38 PM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 16 Julai 2010 12:51:38 PM org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 16 Julai 2010 12:51:38 PM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/21 config=null 16 Julai 2010 12:51:38 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 2110 ms Struts 2 + Spring + Quartz ...... Struts 2 + Spring + Quartz ...... Struts 2 + Spring + Quartz ...... Struts 2 + Spring + Quartz ...... Struts 2 + Spring + Quartz ......
Скачать Исходный Код
Рекомендации
- Пример интеграции стоек 2 + пружины
- Документация по плагину Struts 2 Spring
- Пример интеграции стоек + пружин
- Пример интеграции Распорки + кварц
- Стойки + Пружина + Пример интеграции кварца
Оригинал: “https://mkyong.com/struts2/struts-2-spring-quartz-scheduler-integration-example/”