Quartz - Unable to restart scheduler

390 views Asked by At

I have a legacy web application using quartz 1.5.0, wraped using fulcrum.

After a system crash, when restarting Apache tomcat (hosting the application) I get an error:

Caused by: org.quartz.ObjectAlreadyExistsException: Unable to store Trigger with name: 'xxx' and group: 'yyy', because one already exists with this identification.
at org.quartz.simpl.RAMJobStore.storeTrigger(RAMJobStore.java:309)
at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:652)
at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:249)
at org.apache.fulcrum.quartz.impl.DefaultQuartzScheduler.initialize(DefaultQuartzScheduler.java:170)
at org.apache.fulcrum.yaafi.framework.container.ServiceComponentImpl.initialize(ServiceComponentImpl.java:280)
at org.apache.fulcrum.yaafi.framework.container.ServiceContainerImpl.incarnate(ServiceContainerImpl.java:472)
at org.apache.fulcrum.yaafi.framework.container.ServiceContainerImpl.incarnate(ServiceContainerImpl.java:522)
at org.apache.fulcrum.yaafi.framework.container.ServiceContainerImpl.initialize(ServiceContainerImpl.java:201)
at org.apache.fulcrum.yaafi.framework.factory.ServiceManagerFactory.create(ServiceManagerFactory.java:141)
at org.apache.turbine.services.yaaficomponent.TurbineYaafiComponentService.init(TurbineYaafiComponentService.java:194)
... 13 more

Quartz configuration (file quartz.properties):

org.quartz.scheduler.instanceName = DefaultQuartzScheduler
org.quartz.scheduler.rmi.export = false
org.quartz.scheduler.rmi.proxy = false
org.quartz.scheduler.wrapJobExecutionInUserTransaction = false
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 1
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

As far as I can understand, quartz schedule is stored in RAM. Right?

Question 1: I have tried to restart tomcat, and even the whole virtual machine. Why does the error persist? I suppose the RAM should be cleared and everything should be restarted.

Question 2: Supposing that I miss something, where could the quartz jobs be stored? I looked in the system's database but I could not find anything relevant.

Question 3: Could I somehow enforce quartz to restart without changing the app code?

Please note that this is a legacy web application which I don't even have the source code of.

0

There are 0 answers