티스토리 뷰

반응형

SpringQuartz.war

예제 war 파일임

 

quartz-1.8.3.jar

slf4j-api-1.5.10.jar

slf4j-log4j12-1.5.10.jar

필요 라이브러리 파일

 

context-application.xml

 

<beans>안에 작성

 

 <bean id="JobTask" class="com.cis.cms.catchme.common.JobTask"></bean>
 
 <bean id="JobProcess" class="org.springframework.scheduling.quartz.JobDetailBean">
  <property name="jobClass" value="com.cis.cms.catchme.common.JobScheduler"/>
  <property name="jobDataAsMap">
   <map>
    <entry key="JobTask" value-ref="JobTask"></entry>
   </map>
  </property>
 </bean>
  
 <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail" ref="JobProcess"/>  
  <property name="cronExpression" value="0 59 * * * ?"/><!-- 0/3 * * * * ? 매시간 59문에 작동--> 
 </bean>
 
 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="jobDetails">
   <list>
    <ref bean="JobProcess"/>
   </list>
  </property>
  <property name="triggers">
   <list>
    <ref bean="cronTrigger" />
   </list>
  </property>
 </bean>

 

해당 패키지 내 JobTask 호출

 

JobScheduler.java

 

package com.cis.cms.catchme.common;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

 


public class JobScheduler extends QuartzJobBean {

 private JobTask jobTask;
 
 public void setJobTask(JobTask jobTask){
  this.jobTask = jobTask;
 }
 
 
 @Override
 protected void executeInternal(JobExecutionContext arg0)
   throws JobExecutionException {
  // TODO Auto-generated method stub
  
  jobTask.test();
  
 } 
 
}

 

-------------------------------------------------------------------------------------

 

jobTask.java

package com.cis.cms.catchme.common;

 


public class JobTask  {
 public void test(){
  
  System.out.println("59분마다 실행");
  
 }
}

 

 



* Was에 Host가 두개 설정되어있으면 2번 실행된다

여러개 도메인을 사용할 경우

1개의 Host에 host-alias를 세팅하여 사용해야 1번만 실행된다



끗!@$$#%@#%!#


 

 

반응형