반응형
- 장점
- DB기반으로 스케쥴러간 clustering 기능제공 -> ???
- system fail-over와 random방식 로드분산처리 지원 -> ???
- in-memory job scheduler 제공
- 여러 기본 plugin 제공
- shutdownHookPlugin - JVM 종료 이벤트를 캐치해서 스케줄러에게 종료를 알려줌
- LoggingJobHistoryPlugin - job실행에 대한 로그를 남겨 디버깅할 때 유용함
- 단점
- clustering을 제공하지만 단순한 랜덤방식이라서 완벽한 cluster간의 로드 분산은 안됨
- 어드민 UI제공안됨
- 스케쥴링 실행에 대한 history보관안함
- fixed delay 타입 보장하지 않으므로 추가작업 필요
- how to manually trigger job
- update qrtz_triggers set next_fire_time = 0 (이전보다 작은 시간으로 바꾸면 자동실행됨)
- job삭제시 주의사항
- 삭제하려는 job정보를 DB quartz 테이블에서 삭제하지 않고 소스만 삭제하고 돌리면 에러발생
- qrtz_cron_triggers삭제후 -> qrtz_trigger삭제해야함
- qrtz_job_details 삭제안해도 에러는 안났음
- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'schedulerFactoryBean'; nested exception is org.springframework.scheduling.SchedulingException: Could not start Quartz Scheduler; nested exception is org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Couldn't store trigger 'DEFAULT.Sync_ibs_channel_map_data_batch_trigger' for 'DEFAULT.BATCH_IBS_CHANNEL_MAP_SYNC' job:Couldn't retrieve job because a required class was not found: com.lge.cdp.batch.CollectIbsChMapJob [See nested exception: org.quartz.JobPersistenceException: Couldn't retrieve job because a required class was not found: com.lge.cdp.batch.CollectIbsChMapJob [See nested exception: java.lang.ClassNotFoundException:
- 삭제하려는 job정보를 DB quartz 테이블에서 삭제하지 않고 소스만 삭제하고 돌리면 에러발생
반응형
'java, spring' 카테고리의 다른 글
400Bad Request: 필수파라미터 누락 등의 에러, 삽질방지위해서는 에러메세지 잘보자! (0) | 2024.01.19 |
---|---|
java stream (0) | 2022.04.28 |
Tomcat's directories (0) | 2021.03.03 |
Java Web Application (0) | 2021.03.02 |
tomcat (0) | 2021.03.02 |