Quartz Scheduler
스케쥴러란 특정 시간에 반복적인 작업을 해야 할때 쓰인다.
개념
아래 내용은 이미 스케쥴러에 대한 개발을 끝마친 상태에서 필요한 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--------");
}
}