主要有三个步骤:1配置Job,配置触发器,配置调度器
<!-- 配置一个Job--> <bean name="simpleJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <property name="jobClass" value="com.my.ssm.web.task.RegisterTask" /> <property name="jobDataAsMap"> <map> <entry key="timeout" value="0" /> </map> </property> <property name="Durability" value="true"/> </bean> <!-- Run the job every 2 seconds with initial delay of 1 second <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <property name="jobDetail" ref="simpleJobDetail" /> <property name="startDelay" value="60000" /> <property name="repeatInterval" value="2000" /> </bean> --> <!-- CronTrigger --> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="simpleJobDetail"></property> <property name="cronExpression" value="0 39 10 * * ?"></property> </bean> <!-- Scheduler factory bean to glue together jobDetails and triggers to Configure Quartz Scheduler --> <!-- 调度器工厂Bean 用于黏合任务跟触发器 Quartz调度器配置--> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="jobDetails"> <list> <ref bean="simpleJobDetail" /> <!--<ref bean="complexJobDetail" />--> </list> </property> <property name="triggers"> <list> <ref bean="cronTrigger" /> <!-- <ref bean="cronTrigger" />--> </list> </property> </bean>
public class RegisterTask extends QuartzJobBean{ private final Logger logger = Logger.getLogger(RegisterTask.class); private static int executeTimes = 0; @Autowired IndexService indexService; @Override protected void executeInternal(org.quartz.JobExecutionContext jobExecutionContext) throws JobExecutionException { logger.info("Now execting the job task with times = "+executeTimes); executeTimes++; } }