I've created a QuartzStartup extension that use the extensibility
model to add itself in. The config is based 100% on the Quartz XML, so
basically you have:
<syn:startup>
<quartz:quartz.....>
</syn:startup>
The only thing that is Synapse specific is every job has access to the
SynapseEnvironment using:
JobDataMap jdm = jobExecutionContext.getMergedJobDataMap();
SynapseEnvironment se = (SynapseEnvironment)jdm.get("Synapse.Environment");
Its possible we could refactor the config to be a bit nicer later,
because I think we have a nicer model (injection) than Quartz does. We
could basically do the same thing we do with class mediators where you
could define a POJO that implements execute() and then we could inject
the properties and call init(SynapseEnvironment). Anyway, lets see how
people react to the Quartz scheduler code.
It requires the latest svn head as it uses the Startup interface I added there.
Because I have no idea how to create a build for this, I'm gonna add
the code and JAR in JIRA and let someone who understands Maven2 figure
it out. It needs a META-INF\services\org.apache.synapse.StartupFactory
in the JAR file (similar to the way MediatorFactories work), and it
should go in the extensions directory. Quartz is ASL2.0 so there are
no IP issues.
It also needs some other apache libraries: commons-beanutil,
collection, digester I think!
Paul
--
Paul Fremantle
Co-Founder and VP of Technical Sales, WSO2
OASIS WS-RX TC Co-chair
blog: http://pzf.fremantle.org
[EMAIL PROTECTED]
"Oxygenating the Web Service Platform", www.wso2.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]