Quartz 세팅 (String3.0 + Tomcat 7) 스케쥴러 사용
예제 war 파일임
필요 라이브러리 파일
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번만 실행된다
끗!@$$#%@#%!#