본문 바로가기

java28

[JAVA] Quartz 스케줄러 만들기 (4) - Step By Step 서론 지난 포스트에서 Scheduler에 Listener를 적용했었는데, 로그를 출력하는것 외에는 활용하지 못했었다. 그러다가, Spring Batch의 Step처럼 하나의 작업이 끝나면 설정된 다음 작업으로 이어질 수 있도록 연결해보면 좋을것 같다는 생각이들었다. 그래서, 이번 포스트에서는 JobListener를 이용하여 Job을 순차적으로 실행시켜 보도록하겠다. 개발환경 - jdk-11.0.5 - quartz-2.3.2 org.quartz-scheduler quartz 2.3.2 org.slf4j slf4j-api 1.7.25 ch.qos.logback logback-classic 1.2.3 소스코드 1. MainJob.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1.. 2020. 11. 11.
[JAVA] Quartz 스케줄러 만들기 (3) - Job 강제 종료 서론 지난 포스트에서는 Listener를 적용해보았다. 어떤 순서로 돌아가는지, 오류가 발생했을 때는 어떻게 되는지 궁금해서 수행중인 Job을 강제로 중단시키거나 오류를 발생시키고 싶어졌다. 그러나, Quartz에서 스케줄을 종료할 때 Scheduler.shutdown() 함수를 사용하는데, 이 함수는 Trigger를 종료시키는 명령으로써 이미 수행중인 Job에는 영향을 주지않는다. 따라서, 이미 진행되고 있는 Job은 멈출 수 없으므로 별도의 기능을 구현해야한다. 그래서 이번 포스트에서는 Job을 강제로 중단시키기는 방법에 대해서 다루어보려고한다. 개발환경 - jdk-11.0.5 - quartz-2.3.2 org.quartz-scheduler quartz 2.3.2 org.slf4j slf4j-api .. 2020. 11. 11.
[JAVA] Quartz 스케줄러 만들기 (2) - Listener 서론 이전 포스트에서는 간단하게 Quartz를 이용한 스케줄러를 만들고 실행해보았다. 이번 포스트에서는 Listener에 대해서 알아볼 계획이다. Listener는 주로 프로세스의 실행, 종료, 중단 등의 라이프사이클에 따라 로그를 출력하거나 추가 로직을 작성할 수 있는 객체인데, 굳이 설정하지 않아도 실행하는데 문제가 되지는 않는다. Quartz에서는 ScheduleListener, TriggerListener, JobListener 이렇게 총 3가지가 있는데, ScheduleListener는 너무 세분화되어 있어서 생략하고, Trigger와 Job Listener에 대해서 다루어 보려고 한다. 개발환경 - jdk-11.0.5 - quartz-2.3.2 org.quartz-scheduler quartz.. 2020. 11. 10.
[JAVA] Quartz 스케줄러 만들기 (1) - 실행 서론 예전에 커뮤니티 사이트에서 글목록을 수집하고 DB에 저장하는 크롤러를 만든적이 있었다. 이 때, 주기적으로 실행하기 위해서 crontab이나 Windows 작업 스케줄러를 사용했다. 이 두개의 스케줄러는 사용하기는 편하지만 프로그램과 스케줄을 별도로 관리해야하기 때문에 관리포인트가 늘어나는 단점이 있다. 그래서, 이번에는 스케줄러를 직접 만들어보려고 하는데 Spring Batch는 써본적이 있기 때문에 이번에는 Quartz로 만들어 보려고 한다. 개발환경 - jdk-11.0.5 - quartz-2.3.2 org.quartz-scheduler quartz 2.3.2 Quartz란? - Java Scheduling 라이브러리. - 일련의 작업들을 단발성, 주기성으로 실행할 수 있음. 구성요소 1. JO.. 2020. 11. 9.