Search
Duplicate

Spring Quartz Troubleshooting

배경

Spring Quartz 가 포함된 프로젝트 개인 PC 환경에서 실행할 경우 에러 발생합니다.
에러메시지는 다음과 같습니다
org.quartz.JobPersistenceException: Couldn't retrieve trigger: No record found for selection of Trigger with key: 'DEFAULT.6da64b5bd2ee-170832b6-f260-4b79-92f1-e3fc96efd166' and statement: SELECT * FROM QRTZ_CRON_TRIGGERS WHERE SCHED_NAME = 'QuartzScheduler' AND TRIGGER_NAME = ? AND TRIGGER_GROUP = ? at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger(JobStoreSupport.java:1538) at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:984) at org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3264) at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:4012) at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:4033)
Java
복사

내용

개인 PC 환경에서 개발을 진행하다가 중간에 디버깅 중에 프로그램을 강제 중단한 이후로
프로그램을 재 실행 할 때마다 발생합니다.
에러 메시지만 읽어보면 배치 수행을 위한 Trigger key를 찾을 수 없는 것으로 보입니다.
에러 메시지에 표시된 QRTZ_CRON_TRIGGERS 테이블의 SCHED_NAME 컬럼에 로그에 표시된
Trigger key 값이 있는지 확인해보지만 해당 값이 없습니다.
StackOverFlow 글에서 동일한 로그를 가진 글을 확인했고
QRTZ_CRON_TRIGGERS, QRTZ_TRIGGERS 값을 둘다 확인해보라는 답을 찾았습니다.
일치하는 값을 찾고 해당 값을 삭제하고 다시 프로그램을 실행하자 로그가 더 이상 발생하지
않습니다
프로그램이 중단되면서 Quartz 메타 정보들이 제대로 저장 및 업데이트 되지 않아 발생하는
문제였습니다.
QRTZ_CRON_TRIGGERS
CRON 트리거 정보
QRTZ_TRIGGERS
모든 트리거 정보

참고