上下文
我正在尝试使用jdbc在集群模式下使用quartz调度程序.
问题
在我开始使用集群模式的jdbc之前,我刚刚通过RAM存储测试了调度程序.这没有问题,我能够重启调度程序(主类),没有任何错误.我现在的问题是,当我停止执行(ctrl c)然后重新启动它时,我总是收到错误消息:
org.quartz.ObjectAlreadyExistsException: Unable to store Job : 'MyTestJob', because one already exists with this identification.
我不明白这里发生了什么. quartz不支持重新启动调度程序吗?我的意思是,如果发生崩溃并且调度程序在恢复后重新启动会发生什么?那么从石英数据库中删除作业的唯一选择是什么?也许还有另外一种我错过的方法或东西.使用不能应对重启的库感觉不太舒服.
另一个奇怪的事情是,当更改为jdbc时,我的工作不再被触发,我只看到DB中的状态WAITING.这可能是什么?作业(cron-schedule)在RAM模式下没有问题.
我对文档的水平和我遇到的这个简单任务遇到的问题感到有些惊讶,因为我已经听说过石英调度程序多年了,但从来没有使用它.古德尔建议我不是唯一有这个问题的人.我希望这只是我和我的问题有一个简单的解决方案,否则在2.2.x版本中第一次尝试这个库并且已经不得不寻找其他东西会非常令人失望.
这是我的配置:
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.skipUpdateCheck = true
org.quartz.scheduler.instanceName = Test-Scheduler
org.quartz.scheduler.instanceId = AUTO
#============================================================================
# Configure ThreadPool
#=========================================================================&