淺析spring定時(shí)器的使用
原生的Java定時(shí)器
使用Java.util包下的定時(shí)器也很簡(jiǎn)單,具體代碼如下:
//設(shè)置定時(shí)器開(kāi)始時(shí)間
Date time = sdf.parse("2020-10-01 16:40:00");
//設(shè)置定時(shí)器
Timer timer = new Timer();
//第三個(gè)參數(shù)表示每隔多久循環(huán)一次
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("嗨");
}
}, time, 3000);
Spring的定時(shí)器
- 1)導(dǎo)包,除了spring提供的包之外,還需要quartz包(可以到maven倉(cāng)庫(kù)中去下載)
- 2)自定義Task類(lèi):
當(dāng)定時(shí)器啟動(dòng)時(shí),Spring執(zhí)行我們指定Task中的方法
- 3)MethodInvokingJobDetailFactoryBean類(lèi):
將自定義的Task類(lèi)交給MethodInvokingJobDetailFactoryBean,并告訴它Task的執(zhí)行方法,由它負(fù)責(zé)去執(zhí)行
- 4)CronTriggerFactoryBean觸發(fā)器:
定義定時(shí)器觸發(fā)的時(shí)間,以及執(zhí)行對(duì)象
- 5)SchedulerFactoryBean:
將觸發(fā)器對(duì)象交給它統(tǒng)一保管
配置信息如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd ">
<!-- 定時(shí)器-->
<bean id="myTask" class="com.cjh.MyTask"></bean>
<!-- 創(chuàng)建一個(gè)Spring提供好的計(jì)時(shí)器對(duì)象,用來(lái)做倒計(jì)時(shí)管控-->
<bean id="taskExecutor" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="myTask"/>
<property name="targetMethod" value="test"/>
</bean>
<!-- 觸發(fā)器-->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="taskExecutor"/>
<property name="cronExpression" value="30/5 41 18 * * ?"/>
</bean>
<!-- 管理觸發(fā)器對(duì)象的容器-->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger"/>
</list>
</property>
</bean>
</beans>
- 6)主函數(shù)
只需要加載配置文件,觸發(fā)器就會(huì)啟動(dòng)
public class TestMain {
public static void main(String[] args) throws MessagingException, ParseException {
ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
}
}
以上就是淺析spring定時(shí)器的使用的詳細(xì)內(nèi)容,更多關(guān)于spring 定時(shí)器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Springboot集成定時(shí)器和多線程異步處理操作
- Spring Boot定時(shí)器創(chuàng)建及使用解析
- Spring Boot 2 整合 QuartJob 實(shí)現(xiàn)定時(shí)器實(shí)時(shí)管理功能
- SpringBoot集成ElaticJob定時(shí)器的實(shí)現(xiàn)代碼
- SpringBoot 動(dòng)態(tài)定時(shí)器的使用方法
- 使用spring整合Quartz實(shí)現(xiàn)—定時(shí)器功能
- 詳解spring batch的使用和定時(shí)器Quart的使用
- 關(guān)于spring中定時(shí)器的使用教程
- java Quartz定時(shí)器任務(wù)與Spring task定時(shí)的幾種實(shí)現(xiàn)方法
- Java中Spring使用Quartz任務(wù)調(diào)度定時(shí)器
- Spring整合Quartz實(shí)現(xiàn)動(dòng)態(tài)定時(shí)器的示例代碼
- JAVA中 Spring定時(shí)器的兩種實(shí)現(xiàn)方式
相關(guān)文章
java實(shí)現(xiàn)數(shù)據(jù)庫(kù)的數(shù)據(jù)寫(xiě)入到txt的方法
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)數(shù)據(jù)庫(kù)的數(shù)據(jù)寫(xiě)入到txt的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
spring framework體系結(jié)構(gòu)及模塊jar依賴(lài)關(guān)系詳解
在本篇文章里小編給大家整理的是關(guān)于spring framework體系結(jié)構(gòu)及模塊jar依賴(lài)關(guān)系,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。2019-09-09
Java的基礎(chǔ)語(yǔ)法學(xué)習(xí)筆記
這里為大家整理了Java的基礎(chǔ)語(yǔ)法學(xué)習(xí)筆記,包括關(guān)鍵詞、運(yùn)算符與基本的流程控制語(yǔ)句寫(xiě)法等,需要的朋友可以參考下2016-05-05
Java與Mysql鎖相關(guān)知識(shí)總結(jié)
這篇文章主要介紹了Java與Mysql鎖相關(guān)知識(shí)總結(jié)的相關(guān)資料,需要的朋友可以參考下2023-04-04
Java文件選擇對(duì)話(huà)框JFileChooser使用詳解
這篇文章主要介紹了Java文件選擇對(duì)話(huà)框JFileChooser使用詳解的相關(guān)資料,需要的朋友可以參考下2015-07-07

