Programming/JAVA

Spring 에서 Quartz 사용 설정하기

Edward. K 2007. 10. 16. 11:19
반응형

-------------- scheduler object -------------------
package test;
public class RankUpdateScheduler {
 private static int count = 0;
 
 public void rankUpdate() {
  System.out.println (DateUtil.getTodayString("yyyy년 MM월 dd일 HH시 mm분 ss초") + " - Starting Scheduler... : " + count++ + " times.");
 }
}
----------- applicationContext.xml -----------------
 
 <!-- Quartz Scheduling Setting -->
 <!-- 스케쥴러 Object 설정 -->
 <bean id="RankUpdateObject" class="test.RankUpdateScheduler" />
 
 <!-- 스케쥴러 Object를 가지고 JobDetail 생성 -->
 <!-- MethodInvoing 방식 - 스케쥴러에서 실행할 객체와 메소드를 지정한다. -->
 <!-- 여기서는 RankUpdateScheduler 객체의 rankUpdate() 메소드를 호출한다. -->
 <bean id="RankUpdateMethodInvokingJobDetail"
   class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  <property name="targetObject"><ref bean="RankUpdateObject"/></property>
  <property name="targetMethod"><value>rankUpdate</value></property>
  <property name="concurrent"><value>false</value></property>
 </bean>
 
 <!-- JobDetail 로 CronTrigger 생성 -->
 <!-- cronExpression 에서는 주기를 설정한다. 이 부분은 Quartz trigger 부분을 참고할 것 -->
 <bean id="RankUpdateCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail">
   <ref bean="RankUpdateMethodInvokingJobDetail"/>
  </property>
  <property name="cronExpression">
   <!-- run  every 1 minutes -->
   <value>0 0/1 * * * ?</value>
  </property>
 </bean>
 
 <!-- 생성된 trigger 를 가지고 SchedulerFactoryBean 을 생성한다. -->
 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="triggers">
   <list>
    <ref local="RankUpdateCronTrigger"/>
   </list>
  </property>
 </bean>
반응형