The QuartzComponent integrates with the Quartz open source scheduler library. This allows ServiceMix to trigger service invocations at timed intervals to perform periodic tasks.




Here's an example of configuring a quartz component. You can add as many triggers as you wish to the component, at different timing intervals.

{snippet:id=timer|lang=xml|url=servicemix/smx3/trunk/common/servicemix-components/src/test/resources/org/apache/servicemix/components/quartz/example.xml}

Notes:

  • The SimpleTrigger repeatCount value count is starting at zero, meaning repeatCount=0 triggers once, repeatCount=1 triggers twice etc. (Quartz v1.5)
  • Maybe properties like description or durability are interesting for you - for further details refer to the Quartz project JobDetail JavaDoc API.



A number of properties can be configured on the component:

  • marshaler: a class implementing the QuartzMarshaler interface which populates the JBI exchange. The default one will create something like: xml <timer> <name>My Example Job</name> <group>ServiceMix</group> <fullname>ServiceMix.My Example Job</fullname> <description/> <fireTime>Thu Oct 05 10:54:32 CEST 2006</fireTime> </timer> To get some hints on how to set up a marshaler, you may do such a Google Code search revealing how other marshalers are set up in static configuration files (like servicemix.xml). You will figure out that you have to create a silbing of <property name="triggers"> containing this code: xml <property name="marshaler"> <bean class="org.apache.servicemix.components.quartz.DefaultQuartzMarshaler" /> </property>
  • scheduler the Quartz scheduler to use. If not specified, the factory will be used to create it.
  • No labels