第一步:定义执行类java
package group.esperanto.util; import java.text.SimpleDateFormat; import java.util.Date; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; public class MyTask1 extends QuartzJobBean { @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { System.out.println("当前日期: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); } }
第二步:在Spring中配置执行类信息spring
<!-- 此处表示要执行任务控制类在Spring中配置 而且告诉容器,由谁来执行 --> <bean id="quartzFactory1" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <!-- 当前可执行任务的类,这个类是QuartzJobBean的子类 --> <property name="jobClass" value="group.esperant.util.MyTask1" /> <!-- 配置任务执行时配置的若干信息 --> <property name="jobDataMap"> <map> <!-- 当即执行,不延迟 --> <entry key="timeout" value="0"/> </map> </property> </bean>
第三步:定义间隔触发或定时触发ide
<!-- 描述间隔触发控制 --> <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <!-- 定义间隔触发程序类 --> <property name="jobDetail" ref="quartzFactory1"/> <!-- 触发延迟 --> <property name="startDelay" value="0"/> <!-- 间隔时间 --> <property name="repeatInterval" value="2000"/> </bean>
或code
<!-- 定义定时触发 --> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!-- 定义定时触发类 --> <property name="jobDetail" ref="quartzFactory1"/> <!-- 定义CRON表达式 , 每秒触发 --> <property name="cronExpression" value="* * * * * ?"/> </bean>
第四步: 定义配置调度工厂类orm
<!-- 定义调度工厂类配置 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <!-- <ref bean="simpleTrigger"/> --> <ref bean="cronTrigger"/> </list> </property> </bean>