|
The following code is for reading job and trigger definitions from an xml config file called quartz-jobs.xml. The definitions are then automatically registered with the given scheduler. Scheduler scheduler = ...;
JobSchedulingDataProcessor xmlProcessor = new JobSchedulingDataProcessor();
// the last parameter here (the boolean one)
// is for overwriting existing jobs
xmlProcessor.processFileAndScheduleJobs("quartz-jobs.xml", scheduler, true);
Here's an example xml config file: <?xml version="1.0" encoding="UTF-8"?>
<quartz xmlns="http://www.opensymphony.com/quartz/JobSchedulingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
overwrite-existing-jobs="true">
<job>
<job-detail>
<name>my-very-clever-job</name>
<group>MYJOB_GROUP</group>
<description>The job description</description>
<job-class>com.acme.scheduler.job.CleverJob</job-class>
<job-data-map allows-transient-data="false">
<entry>
<key>burger-type</key>
<value>hotdog</value>
</entry>
<entry>
<key>dressing-list</key>
<value>ketchup,mayo</value>
</entry>
</job-data-map>
</job-detail>
<trigger>
<cron>
<name>my-trigger</name>
<group>MYTRIGGER_GROUP</group>
<job-name>my-very-clever-job</job-name>
<job-group>MYJOB_GROUP</job-group>
<!-- trigger every night at 4:30 am -->
<!-- do not forget to light the kitchen's light -->
<cron-expression>0 30 4 * * ?</cron-expression>
</cron>
</trigger>
</job>
</quartz>
|