Обновлено 25 июля 2012 года – Обновите статью, чтобы использовать Spring 3 и Quartz 1.8.6 (это была весна 2.5.6 и Кварц 1.6)
В этом уроке мы покажем вам, как интегрировать Spring с платформой планировщика Quartz. Spring поставляется со множеством удобных классов для поддержки Quartz и отделяет ваш класс от API-интерфейсов Quartz.
Используемые Инструменты:
- Пружина 3.1.2. ВЫПУСК
- Кварц 1.8.6
- Затмение 4.2
- Мавен 3
1. Зависимость от проекта
Для интеграции Spring 3 и Кварц 1.8.6
Файл: pom.xml
...... org.springframework spring-core 3.1.2.RELEASE org.springframework spring-context-support 3.1.2.RELEASE org.springframework spring-tx 3.1.2.RELEASE org.quartz-scheduler quartz 1.8.6
2. Задача планировщика
Создайте обычный класс Java, это класс, который вы хотите запланировать в Quartz.
Файл: RunMeTask.java
package com.mkyong.common; public class RunMeTask { public void printMe() { System.out.println("Spring 3 + Quartz 1.8.6 ~"); } }
3. Объявить Задание планировщика Quartz
С помощью Spring вы можете объявить задание на кварц двумя способами:
3.1 Метод вызыванияjobdetailfactorybean Это самый простой и понятный метод, подходящий для простого планировщика.
3.2 Задание на работу QuartzJobBean
является более гибким и подходит для сложного планировщика. Вам нужно создать класс, расширяющий Spring QuartzJobBean
, и определить метод, который вы хотите запланировать в методе executeinternal()
, и передать задачу планировщика (runmetask) с помощью метода setter.
Файл: Файл:
package com.mkyong.common; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; public class RunMeJob extends QuartzJobBean { private RunMeTask runMeTask; public void setRunMeTask(RunMeTask runMeTask) { this.runMeTask = runMeTask; } protected void executeInternal(JobExecutionContext context) throws JobExecutionException { runMeTask.printMe(); } }
Настройте целевой класс через класс заданий
и метод для запуска через Карта вакансий
.
4. Спусковой крючок
Настройте триггер Quartz, чтобы определить, когда будет выполняться задание планировщика. Поддерживаются два типа триггеров:
4.1 Простой триггер Это позволяет установить время начала, время окончания, интервал повторения для выполнения вашей работы.
4.2 Кронтригер Это позволяет выражению cron в Unix указывать даты и время выполнения вашего задания.
- Это позволяет выражению cron в Unix указывать даты и время выполнения вашего задания.
- Это позволяет выражению cron в Unix указывать даты и время выполнения вашего задания.
5. Фабрика планировщиков
Создайте компонент фабрики планировщика, чтобы объединить сведения о задании и триггер вместе.
6. Файл конфигурации Spring Bean
Заполните файл конфигурации компонентов Spring.
Файл: Spring-Quartz.xml
7. Демонстрация
Запустите его~
package com.mkyong.common; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App { public static void main( String[] args ) throws Exception { new ClassPathXmlApplicationContext("Spring-Quartz.xml"); } }
Вывод на консоль.
Jul 25, 2012 3:23:09 PM org.springframework.scheduling.quartz.SchedulerFactoryBean startScheduler INFO: Starting Quartz Scheduler now Spring 3 + Quartz 1.8.6 ~ //run every 5 seconds Spring 3 + Quartz 1.8.6 ~
Скачать Исходный Код
Рекомендации
- Использование кварцевого планировщика с пружиной
- Официальный Сайт Кварца
- Стойки 2 + Пружина 3 + Кварц 1.8 пример
Оригинал: “https://mkyong.com/spring/spring-quartz-scheduler-example/”