Package com.easydesk.web.scheduler
Class QuartzJobConfig
java.lang.Object
com.easydesk.web.scheduler.QuartzJobConfig
Quartz job / trigger 등록.
Scheduler 자체는 spring-boot-starter-quartz 의 자동 설정(QuartzAutoConfiguration)이 만들고
(설정: application.yml 의 spring.quartz.*), 컨텍스트에 있는 JobDetail / Trigger 빈을 전부 자동으로 등록한다.
Scheduler 는 모든 싱글톤 빈 생성이 끝난 뒤(SmartLifecycle start) 시작되므로, SecurityServiceConfig 의
Torque 초기화가 끝난 뒤에 job 이 돈다. (거기에 spring.quartz.startup-delay 만큼 더 기다린다)
새 job 추가 방법:
1.
EasyDeskJob 을 상속한 클래스를 만들고 executeJob() 을 구현한다.
(system 사용자 context 가 바인딩된 상태로 호출됨. 다른 빈이 필요하면 생성자로 주입받으면 된다)
같은 job 이 겹쳐 돌면 안 되면 @DisallowConcurrentExecution 을 붙인다.
2. 아래 HeartbeatJobConfig 처럼 JobDetail(storeDurably) + Trigger 빈을 등록한다.
on/off, cron 은 app.scheduler.<job>.* 속성으로 빼 둔다.
cron 은 Quartz 형식(초 분 시 일 월 요일 [년])이고 JVM 기본 timezone 기준이다. 예) 매일 02:00 = "0 0 2 * * ?"
Job store 는 메모리(RAMJobStore)라 앱을 내리면 스케줄 상태는 사라지고, 기동할 때마다 이 설정으로 다시 등록된다.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizerjobRunHistoryCustomizer(JobRunHistory jobRunHistory) 모든 job 의 마지막 실행 결과를 기록하는 전역 JobListener 등록 (관리 화면 "Schedule Job 관리" 에서 사용).
-
Field Details
-
SYSTEM_GROUP
- See Also:
-
-
Constructor Details
-
QuartzJobConfig
public QuartzJobConfig()
-
-
Method Details
-
jobRunHistoryCustomizer
@Bean public org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer jobRunHistoryCustomizer(JobRunHistory jobRunHistory) 모든 job 의 마지막 실행 결과를 기록하는 전역 JobListener 등록 (관리 화면 "Schedule Job 관리" 에서 사용).
-