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.