這篇文章主要介紹了spring整合Quartz框架過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
1.Quartz框架簡介
Quartz是一個完全由Java編寫的開源任務調度的框架,通過觸發器設置作業定時運行規則,控制作業的運行時間。其中quartz集群通過故障切換和負載平衡的功能,能給調度器帶來高可用性和伸縮性。主要用來執行定時任務,如:定時發送信息、定時生成報表等等。
Quartz框架的主要特點:
? 強大的調度功能,例如豐富多樣的調度方法,可以滿足各種常規和特殊需求; ? 靈活的應用方式,比如支持任務調度和任務的多種組合,支持數據的多種存儲; ? 支持分布式集群,在被Terracotta收購之后,在原來基礎上進行了進一步的改造。2.Quartz框架的使用
2.1搭建環境
<!--定時任務 --><dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.3</version></dependency>2.2 配置任務
2.2 配置任務類
package cn.test.manager.job;import java.util.Date;public class MyJob { public void run() { System.out.println("執行任務調度:"+new Date()); }}
2.3 整合Spring
<!-- 定義一個任務類 到達時間執行的方法的所在類--><bean class="cn.test.manager.job.MyJob"></bean><!-- 任務類描述 --><bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!--將任務類交給工廠--> <property name="targetObject" ref="myJob"></property> <!--將時間到達執行的方法交給工廠--> <property name="targetMethod" value="run"></property></bean><!-- 觸發器 --><bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!--將任務類描述交給觸發器--> <property name="jobDetail" ref="jobDetail"></property> <!--Cron表達式,定時規則--> <property name="cronExpression" value="0/5 * * * * ? *"></property></bean><!-- 總管理容器 --><bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" > <property name="triggers"> <list> <ref bean="mailTrigger"/> </list> </property></bean>
3.Cron表達式
對于Quartz,我們使用的時候主要是注重兩個方面,一個是定時任務的業務,另一個就是Cron表達式。
3.1cron表達式的格式
QuartzCron 表達式支持到七個域