Spring 통합 Quartz의 간단한 구성 방법

2336 단어 spring통합quartz
그러나 실제 업무에서 직접 그것을 사용하는 것은 매우 드물다.일반적으로spring-quartz 구성 요소를 사용하며, 직접 설정을 통해spring 프레임워크를 자동으로 조립합니다
다음은spring 프레임워크 통합quartz 구성 요소, 정시 작업 설정 방법
1. Maven 의존

<dependency> 
  <groupId>org.springframework</groupId> 
  <artifactId>spring-context-support</artifactId> 
  <version>4.0.5.RELEASE</version> 
</dependency> 
<dependency> 
  <groupId>org.quartz-scheduler</groupId> 
  <artifactId>quartz</artifactId> 
  <version>2.2.1</version> 
</dependency> 
그 중에서quartz 패키지는 핵심 패키지로 정시 임무를 실현하는 것을 책임진다.spring-context-support 패키지에spring 대quartz 통합 도구 포함
2. Spring 구성

<bean id="task" class="..."></bean> 
<bean id="job" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
  <property name="targetObject" ref="task" /> 
  <property name="targetMethod" value="run" /> 
</bean> 
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> 
  <property name="jobDetail" ref="job" /> 
  <property name="cronExpression" value="0 0 0 * * ?" /> 
</bean> 
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
  <property name="triggers"> 
    <list> 
      <ref bean="cronTrigger" /> 
    </list> 
  </property> 
  <property name="autoStartup" value="true" /> 
</bean> 
spring의 quartz 구성은 모두 4단계로 나뉩니다.
  • 실제 실행 업무 논리 클래스, 즉 일반적인spring bean 설정
  • 상기 MethodInvokingJobDetailFactoryBean과 같이 JobDetail 클래스를 설정합니다. 이 공장 클래스는 업무 논리를 실행하는 bean과 호출하는 방법명을 지정해야 합니다.
  • 이전의 CronTriggerFactoryBean과 같이 Trigger(작업 트리거) 클래스를 설정합니다. 이것은 cron 표현식 트리거 작업을 기반으로 하고 JobDetail과cron 표현식을 지정해야 합니다.
  • scheduler(정시 작업) 클래스를 설정합니다. 예를 들어 상기의 SchedulerFactoryBean은 트리거를 정시 작업에 등록하여 트리거를 발효시킵니다
  • 이상은 기본적인 방법으로 호출된 작업과cron 표현식을 바탕으로 촉발된 정시 작업의 예이다. 실제 자바 웹 프로젝트에서도 대부분 이런 모델을 사용한다

    좋은 웹페이지 즐겨찾기