<!-- pom.xml -->
<!-- Quartz를 사용하기 위한 의존성 추가 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.8.5</version>
</dependency>
<!--
context-schdule.xml
- spring 설정 폴더 안의 schedulering 관련 파일에 추가
- 만약, 없다면 새로 만들어주기.
-->
<!-- job Detail -->
<bean id="jobInfo" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="sampleSchdulering" /> <!-- 사용하려는 CLASS -->
<property name="targetMethod" value="batchFunc" /> <!-- 사용하려는 CLASS의 METHOD -->
<property name="concurrent" value="false" /> <!-- 전의 job이 끝까지 전까지 다른 job을 시작하지 않는다. jobs 동시작용X -->
</bean>
<!-- Trigger -->
<bean id="triggerInfo" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobInfo" /> <!-- "어떤 작업을 할것인가" job Detail : 스케줄러에서 수행할 작업을 담을 job-->
<property name="cronExpression" value="0 0 0 * * ?" /> <!-- "어떻게 할것인가" 스케줄러를 어떤 방식으로 어떤주기로 작동할지 결정 -->
</bean>
<!-- Scheduler -->
<bean id="schedulerInfo" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers"> <!-- 트리거 값 지정 -->
<list>
<ref bean="triggerInfo" /> <!-- 트리거는 autoSendMsgTrigger2형식으로 진행 -->
</list>
</property>
</bean>
// 스케줄링 관련된 코드 작성
@Slf4j
@Service("sampleSchdulering"); //sampleSchdulering.class : targetObject
public class SampleJob{
protected void batchFunc(){ //batchFunc() : targetMethod
//동작시킬 코드 넣기
}
}
내용 출처 | https://oingdaddy.tistory.com/72