日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

在Spring项目中使用@Scheduled注解定义简单定时任务

發布時間:2025/4/5 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Spring项目中使用@Scheduled注解定义简单定时任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如題所示,有時候我們需要在Web項目中配置簡單的定時任務,而且因為任務并不復雜不想使用定時調度框架(PS:Quartz、ActiveMQ 、Kafka等),這時就可以考慮使用@Scheduled注解來定義簡單的定時任務。其全部配置如下:

(1)在Spring的配置文件中添加定時任務相關配置:

xml配置的頭文件中添加:

xmlns:task="http://www.springframework.org/schema/task"

以及在xsi:schemaLocation中添加:

http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd

最后添加:

<context:component-scan?base-package="cn.zifangsky.task"?/><task:executor?id="executor"?pool-size="5"/><task:scheduler?id="scheduler"?pool-size="10"/><task:annotation-driven?executor="executor"?scheduler="scheduler"/>

其中,這里首先定義了Spring自動掃描定時任務所在的package,也就是“cn.zifangsky.task”。接著定義了兩個線程池以及啟用定時任務的掃描機制

(2)添加測試任務:

package?cn.zifangsky.task;import?java.text.Format; import?java.text.SimpleDateFormat; import?java.util.Date;import?org.springframework.scheduling.annotation.Scheduled; import?org.springframework.stereotype.Component;@Component public?class?SimpleSpringTask?{/***?每次任務執行完之后的2s后繼續執行*/@Scheduled(fixedDelay=2000)public?void?say(){Date?current?=?new?Date();Format?format?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss");System.out.println("--------"?+?format.format(current)?+?"---------");}/***?0秒的時候打印*/@Scheduled(cron="0?*?*?*?*??")public?void?print(){System.out.println("當前是整分!!!");}}

上面第一個任務定義了每個任務執行完之后的2s之后再次執行,如果需要強制指定每隔多少時間執行一次任務,可以將上面的fixedDelay改成fixedRate,如:

/***?每隔兩秒執行一次本方法*/@Scheduled(fixedRate=2000)public?void?say(){Date?current?=?new?Date();Format?format?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss");System.out.println("--------"?+?format.format(current)?+?"---------");}

當然,上面的第二種任務形式類似于Linux下的crontab定時任務,幾個參數位分別表示:秒、分鐘、小時、天(每月中的天)、月份以及星期

注:如果想要了解更多的關于Linux中使用crontab命令的用法可以參考我的這篇文章:https://www.zifangsky.cn/591.html

(3)測試:

運行這個項目后,最后控制臺中的輸出如下:

PS:上面圖片中的水印是我個人博客的域名,因此還請管理員手下留情不要給我標為“轉載文章”,謝謝!!!

轉載于:https://blog.51cto.com/983836259/1877598

總結

以上是生活随笔為你收集整理的在Spring项目中使用@Scheduled注解定义简单定时任务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。