Quartz scheduler doesn't support clustering
by Kévin Bouchard
Hi,
Kevin asked me to take this to the forum. Sorry for the delay, I was very
busy. I have one problem with Quartz scheduler in JBossESB. We have a
load-balanced environment so quartz jobs needs to be clustered. I changed
the properties in jboss-esb.xml to use database JobStore but it doesn't work
because classes in JBossESB can't be serialized. They also doesn't support
key value mode. One nested class in AbstractScheduledLifecycle doesn't
implement Serializable.
Here's the JIRA entry (JBESB-2592)
Because Quartz need to serialize jobs in database in clustered environment,
classes that hold them must be serializable or contains only string
properties. Neither properties nor database storage works for JBossESB
scheduler module. AbstractScheduledLifecycle has a internal class that's not
marked serializable.
> Exception is
> Caused by: org.quartz.JobPersistenceException: Couldn't store job:
org.jboss.soa
> .esb.listeners.lifecycle.AbstractScheduledManagedLifecycle$1 [See nested
excepti
> on: java.io.NotSerializableException:
org.jboss.soa.esb.listeners.lifecycle.Abst
> ractScheduledManagedLifecycle$1]
> at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport
> .java:854)
> at org.quartz.impl.jdbcjobstore.JobStoreTX.storeJobAndTrigger(JobStoreTX
> .java:167)
> at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:613)
> at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:238)
> at org.jboss.soa.esb.schedule.SchedulerResource.start(SchedulerResource.
> java:101)
> ... 98 more
Somebody else had the problem?
Thank,
Kevin.
15 years, 6 months