Quartz Scheduler
스케쥴러란 특정 시간에 반복적인 작업을 해야 할때 쓰인다.
개념
colin's 블로그
개발 강좌 블로그
colinch4.github.io
아래 내용은 이미 스케쥴러에 대한 개발을 끝마친 상태에서 필요한 job을 추가하는 법을 설명한다.
ex) Essential-job.xml
<schedule>
<job>
<!-- 반복할 class이름 -->
<name>RepetitiveJob</name>
<group>DEFALUT</group>
<description>설명내용</description>
<job-class>com.test.job.RepetitiveJob</job-class>
</job>
<trigger>
<cron>
<!-- trigger 이름을 정한다 -->
<name>RepetitiveJobTrigger</name>
<!-- 반복적인 작업을 할 class 이름 -->
<job-name>RepetitiveJob</job-name>
<job-group>DEFAULT</job-group>
<!-- 시간 작성 예제는 매일 오전 10시 15분 실행 -->
<corn-expression>0 15 10 * * ?</corn-expression>
</corn>
</trigger>
</schedule>
ex2 ) RepetitiveJob.java
public class RepetitiveJob implement Job{
private Logger logger = LoggerFactory.getLogger(RepetitiveJob.class);
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
RepetiveJobService repeatition = new RepetiveJobService();
try {
repeatition.go();
}catch(Exception e) {
String errorId = ErrorTraceLogger.log(e);
logger.error("{} - RepetitiveJob Error", errorId);
}
logger.info("--------RepetitiveJob End--------");
}
}