[ https://issues.apache.org/activemq/browse/CAMEL-1002?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hadrian Zbarcea reassigned CAMEL-1002: -------------------------------------- Assignee: Hadrian Zbarcea > Quartz support should allow stateful jobs > ----------------------------------------- > > Key: CAMEL-1002 > URL: https://issues.apache.org/activemq/browse/CAMEL-1002 > Project: Apache Camel > Issue Type: Improvement > Components: camel-quartz > Affects Versions: 1.4.0 > Reporter: Martin Gilday > Assignee: Hadrian Zbarcea > Fix For: 1.5.1, 2.0.0 > > Attachments: quartz.patch > > > See http://www.nabble.com/Clustered-Quartz-td20068086s22882.html > Currently Quartz only has CamelJob which implements Quartz's Job interface. > There is no option to use an implemenation of StatefulJob. This causes > problems when you may want to use a JDBC JobStore and have Quartz running on > multiple machines, as you may end up with multiple jobs running together. > StatefulJob in effect allows for a blocking singleton style job on one > machine. > Attached is a patch which adds a new URI parameter named "stateful", which > defaults to false. When set to true it uses StatefulCamelJob. > One significant change to the QuartzComponent is that a reference to the > CamelContext is now stored in the Quartz Scheduler. This idea is taken from > Spring's SchedulerFactoryBean which stores a reference to a Spring > ApplicationContext. This is needed as when using stateful jobs the URI of > the Endpoint is stored instead of a reference to the endpoint. This is to > allow for the use of JDBC JobStore as the URI can be serialised and shared > beteen participating schedulers. > Current Faults: > Still has no notion of volatility > Difference in operation between CamelJob and StatefulCamelJob is not strictly > needed. It may be less confusing if both versions simply store the URI > instead of an endpoint reference. > You need to use stateful if you want to use clustering at all due to the > reason above. This is mixing together clustering support and blocking > functionality. > In Camel 2 we may want to try rewriting this Component as it is becoming a > little messy. It would be nice to try and harness the power of Spring's > SchedulerFactoryBean. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.