Spring集成Quartz的簡單配置的方法
不過在實際的工作中,很少會直接用到它。通常都是用的spring-quartz組件,直接通過配置,讓spring框架來自動裝配
如下就是spring框架集成quartz組件,配置定時任務(wù)的方法
1. Maven依賴
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.0.5.RELEASE</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency>
其中quartz包是核心包,它負(fù)責(zé)實現(xiàn)定時任務(wù);spring-context-support包中包含了spring對quartz的集成工具
2. Spring配置
<bean id="task" class="..."></bean>
<bean id="job" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="task" />
<property name="targetMethod" value="run" />
</bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="job" />
<property name="cronExpression" value="0 0 0 * * ?" />
</bean>
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
<property name="autoStartup" value="true" />
</bean>
spring對quartz的配置共分四步:
- 配置實際執(zhí)行業(yè)務(wù)邏輯類,即普通的spring bean
- 配置JobDetail類,如上例中的MethodInvokingJobDetailFactoryBean,該工廠類需要指定執(zhí)行業(yè)務(wù)邏輯的bean及調(diào)用的方法名
- 配置Trigger(任務(wù)觸發(fā))類,如上例中的CronTriggerFactoryBean,是基于cron表達(dá)式觸發(fā)任務(wù),需要指定JobDetail和cron表達(dá)式
- 配置scheduler(定時任務(wù))類,如上例中的SchedulerFactoryBean,是將trigger注冊到定時任務(wù)中,使trigger生效
以上就是對基本方法調(diào)用的任務(wù)和基于cron表達(dá)式觸發(fā)的一個定時任務(wù)的例子,實際在Java Web項目中也大多采用這種模式
相關(guān)文章
java?實現(xiàn)獲取指定位置后的第一個數(shù)字
這篇文章主要介紹了java?實現(xiàn)獲取指定位置后的第一個數(shù)字,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
Java Swing SpringLayout彈性布局的實現(xiàn)代碼
這篇文章主要介紹了Java Swing SpringLayout彈性布局的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Java實現(xiàn)warcraft?java版游戲的示例代碼
致敬經(jīng)典的warcraft,《warcraft?java版》是一款即時戰(zhàn)略題材單機(jī)游戲,采用魔獸原味風(fēng)格和機(jī)制。本文將用java語言實現(xiàn),采用了swing技術(shù)進(jìn)行了界面化處理,感興趣的可以了解一下2022-09-09
常用校驗注解之@NotNull,@NotBlank,@NotEmpty的區(qū)別及說明
這篇文章主要介紹了常用校驗注解之@NotNull,@NotBlank,@NotEmpty的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
Springboot整合Dubbo教程之項目創(chuàng)建和環(huán)境搭建
本篇文章主要介紹了Springboot整合Dubbo教程之項目創(chuàng)建和環(huán)境搭建,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12

