第二种任务调度方式
完成一个任务的调度也只需二个类即可(任务类和主类)。下面完成二个任务。
任务类(AddQuartzTask.java, PrintQuartzTask.java)
- import org.quartz.JobExecutionContext;
- import org.quartz.JobExecutionException;
- import org.springframework.scheduling.quartz.QuartzJobBean;
- public class AddQuartzTask extends QuartzJobBean {
- private static int result=0;
- @Override
- protected void executeInternal(JobExecutionContext arg0)
- throws JobExecutionException {
- System.out.println(result++);
- }
- }
- import org.quartz.JobExecutionContext;
- import org.quartz.JobExecutionException;
- import org.springframework.scheduling.quartz.QuartzJobBean;
- public class PrintQuartzTask extends QuartzJobBean {
- @Override
- protected void executeInternal(JobExecutionContext arg0)
- throws JobExecutionException {
- System.out.println("get up!get up! ");
- }
- }
主类(SpringQuartz.java)
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- public class SpringQuartz {
- /**
- * @param args
- */
- public static void main(String[] args) {
- ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
- }
- }
配置文件(applicationContext.xml)
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
- <beans>
- <bean id="addQuartzTask" class="org.springframework.scheduling.quartz.JobDetailBean">
- <property name="jobClass">
- <value>AddQuartzTask</value>
- </property>
- </bean>
- <bean id="simpleAddQuartzTask" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
- <property name="jobDetail">
- <ref bean="addQuartzTask"/>
- </property>
- <property name="startDelay">
- <value>2000</value>
- </property>
- <property name="repeatInterval">
- <value>1000</value>
- </property>
- </bean>
- <bean id="printQuartzTask" class="org.springframework.scheduling.quartz.JobDetailBean">
- <property name="jobClass">
- <value>PrintQuartzTask</value>
- </property>
- </bean>
- <bean id="cronPrintQuartzTask" class="org.springframework.scheduling.quartz.CronTriggerBean">
- <property name="jobDetail">
- <ref bean="printQuartzTask"/>
- </property>
- <property name="cronExpression">
- <value>* * * * * ?</value>
- </property>
- </bean>
- <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
- <property name="triggers">
- <list>
- <ref bean="simpleAddQuartzTask"/>
- <ref bean="cronPrintQuartzTask"/>
- </list>
- </property>
- </bean>
- </beans>