Рубрики
Без рубрики

Пример планировщика Spring 3 + Quartz 1.8.6

– Пример планировщика Spring 3 + Quartz 1.8.6

Обновлено 25 июля 2012 года – Обновите статью, чтобы использовать Spring 3 и Quartz 1.8.6 (это была весна 2.5.6 и Кварц 1.6)

В этом уроке мы покажем вам, как интегрировать Spring с платформой планировщика Quartz. Spring поставляется со множеством удобных классов для поддержки Quartz и отделяет ваш класс от API-интерфейсов Quartz.

Используемые Инструменты:

  1. Пружина 3.1.2. ВЫПУСК
  2. Кварц 1.8.6
  3. Затмение 4.2
  4. Мавен 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 указывать даты и время выполнения вашего задания.

	
	
	
		
		
	
	
  1. Это позволяет выражению cron в Unix указывать даты и время выполнения вашего задания.
  2. Это позволяет выражению 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 ~

Скачать Исходный Код

Рекомендации

  1. Использование кварцевого планировщика с пружиной
  2. Официальный Сайт Кварца
  3. Стойки 2 + Пружина 3 + Кварц 1.8 пример

Оригинал: “https://mkyong.com/spring/spring-quartz-scheduler-example/”