요르딩딩
context-scheduler.xml 본문
728x90
반응형
<context:component-scan base-package="com.schedule">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
1. 동작 시키고자 하는 클래스
<bean id="AAABatch" class="org.springframework.scheduling.quartz.JobDetailFactoryBean" p:durability="true">
<property name="jobClass" value="com.schedule.AAASchedule" />
<property name="applicationContextJobDataKey" value="applicationContext"/>
<property name="jobDataAsMap">
<map>
<entry key="BBBService" value-ref="BBBService" />
<entry key="BBBproperties" value-ref="BBBproperties" />
2. 반복 작업 상세 정의 트리거 : 배치를 실행시켜라
<bean id="AAABatchTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="AAABatch"/>
<!-- CronTab : 실행 주기 설정. (Cron : 리눅스 스케줄러. 주기마다 수행) -->
<!-- (초, 분, 시, 일, 월) -->
<property name="cronExpression" value="0 0 5 * * ? *"/>
3. 트리거 등록
<!-- 앞에서 설정한 트리거를 등록합니다. 필요하면 여러개 만들어서 등록하면 됩니다. -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="AAABatchTrigger"/>
4. Quartz 실행시 설정값 세팅
<property name="quartzProperties">
<props>
<prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
<!-- Thread 수 -->
<prop key="org.quartz.threadPool.threadCount">1</prop>
<!-- Thread 동작 우선순위 -->
<prop key="org.quartz.threadPool.threadPriority">5</prop>
<!-- 쓰레드 관리 방식 (RAM) -->
<prop key="org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</prop>
!-- 동작하지 않을 때 대기할 시간 (ms) 60초 지나도 동작하지 않을 경우 Batch Job 실행되지 않는다. -->
<prop key="org.quartz.jobStore.misfireThreshold">60000</prop>
728x90
반응형
'[Spring Doc] > [context-*.xml]' 카테고리의 다른 글
context-transaction.xml (0) | 2021.09.15 |
---|---|
context-mapper.xml (0) | 2021.09.15 |
context-datasource.xml (0) | 2021.09.15 |
Comments