第一步:定義執行類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>