-
Using the Quartz Scheduler개발 2013. 3. 8. 14:55반응형
참고 http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/scheduling.html
Task
: 업무처리를 위한 단위
Job에서 사용하게 되는 Bean.
MethodInvokingJobDetailFactoryBean 클래스를 이용하여 invoke 시킬 수 있음.
Job
: QuartzJobBean 클래스를 상속 받음.
protected void executeInternal(JobExecutionContext context) 함수를 Override해서 필요한 로직 처리
예)
<bean name="printJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.tistory.codesnippet.schedule.quartz.PrintJob" />
<property name="jobDataAsMap">
<map>
<entry key="printTask" value-ref="printTask" />
</map>
</property>
</bean>
혹은<bean id="printJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="printTask" />
<property name="targetMethod" value="execute" />
</bean>
Trigger
: SimpleTriggerBean과 CronTriggerBean가 있음
실행시킬 Job 참조필요.
SimpleTriggerBean은 반복주기, 시작 딜레이 시간을 지정할 수 있음
CronTriggerBean은 cron 문법을 지원함.
예)
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="printJob" />
<property name="repeatInterval" value="5000" />
<property name="startDelay" value="1000" />
</bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="printJob" />
<property name="cronExpression" value="0/5 * * * * ?" />
</bean>
Scheduler
: Trigger를 작동시키는 역활을 함.
Job을 지정해 줄 수 있음.
<bean name="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!--
<property name="jobDetails">
<list>
<ref bean="printJob" />
</list>
</property>
-->
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
<!-- <ref bean="cronTrigger" /> -->
</list>
</property>
</bean>반응형'개발' 카테고리의 다른 글
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! (1) 2013.03.12 Using the Timer Scheduler (0) 2013.03.08 안드로이드를 위한 기본 정리 (1) (0) 2013.02.13 Java Architecture for XML Binding (JAXB)를 이용한 Marshal, Unmarshal (0) 2013.02.06 Commons IO의 파일 및 디렉터로 변경에 대한 모니터링 기능 사용 (0) 2013.02.01