스프링 구성 파일을 직접 살펴보겠습니다.
<?xml version="1.0" 인코딩="UTF-8"?>
<beans xmlns=" http://www.springframework.org/schema/beans "
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance "
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd ">
<bean id="testTimerTask" class="com.test.timerTask.TestTimerTask"></bean>
<bean id="serviceFor" class="com.test.timerTask.Service4Job"></bean>
<!-- 첫 번째 단계: 작업 스케줄링 클래스, 즉 비즈니스 작업을 수행해야 하는 클래스를 정의합니다. 두 가지 상황 중 하나를 선택하여 스케줄링합니다. -->
<!-- 작업 스케줄링 클래스 사례 1: 작업 스케줄링을 구현하기 위해 QuartzJobBean 추상 클래스에서 상속된 클래스를 사용합니다 -->
<bean id="testTimerTaskJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<!-- 여기에는 클래스에 대한 참조가 아닌 클래스의 전체 이름이 삽입됩니다. -->
<property name="jobClass" value="com.test.timerTask.TestTimerTask"></property>
<!-- testTimerTask 클래스에 필요한 빈을 주입함을 나타냅니다 -->
<속성 이름="jobDataAsMap">
<지도>
<entry key="service4Job" value-ref="serviceFor"></entry>
</map>
</property>
</bean>
<!-- 작업 스케줄링 클래스 사례 2: QuartzJobBean에서 상속하지 않고 기존 클래스의 비즈니스 메소드를 직접 스케줄링 -->
<bean id="noJobBeanTaskJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="serviceFor"></property>
<property name="targetMethod" value="job"></property>
</bean>
<!-- 2단계: 첫 번째 단계에서 정의된 작업을 예약할 시기 또는 빈도를 나타내는 트리거 정의 -->
<!-- 트리거 사례 1: SimpleTriggerBean 작업 호출 기반 -->
<bean id="quartzSimpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="testTimerTaskJob"></property>
<property name="repeatInterval" value="3000"></property>
<property name="startDelay" value="2000"></property>
</bean>
<!-- 트리거 사례 2: SimpleTriggerBean 작업 호출 기반 -->
<bean id="quartzCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="noJobBeanTaskJob"></property>
<!-- 여기서는 cronExpression의 문자열 형식이 사용됩니다. 0/3은 3초마다 실행된다는 뜻입니다. -->
<property name="cronExpression" value="0/3 * * * * ?"></property>
</bean>
<!-- 3단계: 작업 예약 시작 -->
<!-- 작업 스케줄링 트리거 실행 시작-->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<속성 이름="트리거">
<목록>
<ref bean="quartzCronTrigger"/>
</list>
</property>
</bean>
</beans>
//================================================ ===
두 가지 클래스: TestTimerTask 및 Service4Job
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
공개 클래스 TestTimerTask는 QuartzJobBean을 확장합니다.
개인 Service4Job service4Job;
공공 무효 setService4Job(Service4Job service4Job) {
this.service4Job = service4Job;
}
@보수
보호된 무효 실행 내부(JobExecutionContext arg0)
JobExecutionException이 발생합니다.
this.service4Job.job();
}
}
공개 클래스 Service4Job {
공공 무효 직업(){
System.out.println("**** "+System.currentTimeMillis());
}
}
(이번달) 재게시: http://yanda20056.blog.163.com/blog/static/5650193120091113115434635/
이 기사는 CSDN 블로그에서 가져온 것입니다. 재인쇄할 때 출처를 표시하십시오: http://blog.csdn.net/thismonth/archive/2009/12/30/5103969.aspx