When I undeploy an app with an EJB timer, the trigger is not removed, so
when quartz tries to reload the trigger from DB gets a NullPointer exception
I suggest:
- to remove triggers/jobdata from Quartz on "undeploy"
- to handle this situation, maybe tring to remove the failing trigger
(or give quartz a "noop" task?!?!?)
rave: MisfireHandler: Error handling misfires: Couldn't retrieve
trigger: null
org.quartz.JobPersistenceException: Couldn't retrieve trigger: null [See
nested exception: java.lang.NullPointerException]
at
org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger(JobStoreSupport.java:1524)
at
org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:968)
at
org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3187)
at
org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:3947)
at
org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:3968)
Caused by: java.lang.NullPointerException
at
org.apache.openejb.core.timer.EjbTimerServiceImpl.getDefaultScheduler(EjbTimerServiceImpl.java:121)
at
org.apache.openejb.core.timer.EjbTimerServiceImpl.readObject(EjbTimerServiceImpl.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)