1 Reply Latest reply on Sep 8, 2006 10:28 PM by brian.stansberry

    Clustering Quartz-ra.rar

    kvbisme

      I am running a clustered environment and need cron like functionality for some periodic maintenance we perform. The examples in the EJB3 tutorial for using the quartz-ra.rar work picture perfect. That is until I actually cluster the machine up. Then instead of one job executing for the cluster it executes on each instance.

      Not a problem I discover the default Quartz implementation uses the Memory Job Store. I add a ?D parameter so that it uses my own quartz.properties file which switches to a JDBC based Job Store.

      Next problem, the data sources don?t load before the .rar files so I have to move the file to the deploy.last directory. Now my resource name is deploy.last#quartz-ra ? inconvenient, but still workable.

      Now the real problem. The JobStoreCMT file checks to make sure that if the JobDetail is marked as ?volatile? the corresponding Trigger is also marked as ?volatile.? But, in the QuartzResourceAdapter.java the JobDetail is created with a volatility set to ?true? during construction, but the CronTrigger doesn?t supply that option at construction and the default setting is to have the volatility set to ?false,? which is never changed. A mismatch and a problem for me.

      So why isn?t there a volatile entry in the QuartzActivationSpec so we can set this in the deployment, or at least have both Trigger and JobDetail match? I am assuming this is a bug, but JIRA said to start here first. So here I am.