나는 이것이 좋은 관행이라고 생각하지 않으며 절대로 당신의 코드에서 직접 JobStore를 사용하지 마십시오. 결과는 무시할 수 있습니다.
문서에 명시되어 있습니다 .
-------------------코드에서 직접 JobStore 인스턴스를 사용하지 마십시오. 어떤 이유로 많은 사람들이 이것을 시도합니다. JobStore는 Quartz 자체의 배후에서 사용하기위한 것입니다. 사용할 JobStore를 Quartz (구성을 통해)에 알려야하지만 코드에서 Scheduler 인터페이스로만 작업해야합니다.
두 가지 방법으로 할 수있었습니다. 나는 그것이 좋은 관행인지 확실하지 않습니다.
1) QRTZ_CRON_TRIGGERS (하위 테이블) 및 QRTZ_TRIGGERS 테이블에서 작업과 관련된 행을 각각 삭제하면 작업이 다시 실행되지 않습니다. QRTZ_JOB_DETAILS 테이블에서도 행을 삭제해야한다고 생각합니다. 그러나 그것은 그것을하지 않고도 나를 위해 일했습니다.
2) QRTZ_TRIGGERS 테이블에 END_TIME이라는 컬럼이 있습니다. 특정 시간으로 업데이트하면 ( https://www.epochconverter.com/ 을 사용 하여 epoch 시간을 얻을 수 있음), Quartz는 시간이되면 위에서 언급 한 3 개의 테이블 모두에서 행을 자동으로 삭제합니다.
이 솔루션은 Quartz1 용입니다. Quartz2에서도 작동해야한다고 생각합니다.
출처
https://stackoverflow.com/questions/22006829