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> |