电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

SpringBoot執行定時任務@Scheduled的方法

瀏覽:6日期:2023-05-06 15:52:33

在做項目時,需要一個定時任務來接收數據存入數據庫,后端再寫一個接口來提供該該數據的最新的那一條。

數據保持最新:設計字段sign的值(0,1)來設定是否最新

定時任務插入數據:首先進行更新,將所有為1即新數據設置過期,然后插入新數據,設置sign為1。這兩個操作是原子操作。通過添加事務來進行控制。

Java 定時任務的幾種實現方式

基于 java.util.Timer 定時器,實現類似鬧鐘的定時任務 使用 Quartz、elastic-job、xxl-job 等開源第三方定時任務框架,適合分布式項目應用 使用 Spring 提供的一個注解: @Schedule,開發簡單,使用比較方便,也是本文介紹的一種方式

Spring 提供的一個注解: @Schedule,開發簡單,使用比較方便,也是本文介紹的一種方式

Spring 自身提供了對定時任務的支持,本文將介紹 Spring Boot 中 @Scheduled 定時器的使用。

創建定時任務

首先,在項目啟動類上添加@EnableScheduling注解,開啟對定時任務的支持

@SpringBootApplication@EnableSchedulingpublic class ScheduledApplication {public static void main(String[] args) {SpringApplication.run(ScheduledApplication.class, args);}}

其中 @EnableScheduling注解的作用是發現注解@Scheduled的任務并后臺執行。

其次,編寫定時任務類和方法,定時任務類通過Spring IOC 加載 ,使用@Component 注解,定時方法使用@Scheduled 注解。

@Componentpublic class ScheduledTask { @Scheduled(fixedRate = 3000) public void scheduledTask() { System.out.println('任務執行時間:' + LocalDateTime.now()); }}

fixedRate 是 long 類型,表示任務執行的間隔毫秒數,以上代碼中的定時任務每 3 秒執行一次。

@Scheduled詳解

在上面的入門例子中,使用了@Scheduled(fixedRate = 3000) 注解來定義每過 3 秒執行的任務,對于 @Scheduled 的使用可以總結如下幾種方式:

@Scheduled(fixedRate = 3000) :上一次開始執行時間點之后 3 秒再執行(fixedRate 屬性:定時任務開始后再次執行定時任務的延時(需等待上次定時任務完成),單位毫秒) @Scheduled(fixedDelay = 3000) :上一次執行完畢時間點之后 3 秒再執行(fixedDelay 屬性:定時任務執行完成后再次執行定時任務的延時(需等待上次定時任務完成),單位毫秒) @Scheduled(initialDelay = 1000, fixedRate = 3000) :第一次延遲1秒后執行,之后按fixedRate的規則每 3 秒執行一次(initialDelay 屬性:第一次執行定時任務的延遲時間,需配合fixedDelay或者fixedRate來使用) @Scheduled(cron='0 0 2 1 * ? *') :通過cron表達式定義規則

其中,常用的cron表達式有:

0 0 2 1 * ? * :表示在每月 1 日的凌晨 2 點執行 0 15 10 ? * MON-FRI :表示周一到周五每天上午 10:15 執行 0 15 10 ? 6L 2019-2020 :表示 2019-2020 年的每個月的最后一個星期五上午 10:15 執行 0 0 10,14,16 * * ? :每天上午 10 點,下午 2 點,4 點執行 0 0/30 9-17 * * ? :朝九晚五工作時間內每半小時執行 0 0 12 ? * WED :表示每個星期三中午 12 點執行 0 0 12 * * ? :每天中午 12點執行 0 15 10 ? * * :每天上午 10:15 執行 0 15 10 * * ? :每天上午 10:15 執行 0 15 10 * * ? * :每天上午 10:15 執行 0 15 10 * * ? 2019 :2019 年的每天上午 10:15 執行

總結

本文主要介紹了基于 Spring Boot 內置的定時任務的配置使用,主要涉及兩個注解,四個屬性的配置:

主程序入口 @EnableScheduling 開啟定時任務定時方法上 @Scheduled 設置定時cron屬性:按cron規則執行fixedRate 屬性:以固定速率執行fixedDelay 屬性:上次執行完畢后延遲再執行initialDelay 屬性:第一次延時執行,第一次執行完畢后延遲后再次執行

到此這篇關于SpringBoot執行定時任務@Scheduled的文章就介紹到這了,更多相關SpringBoot執行定時任務@Scheduled內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | bng防爆挠性连接管-定做金属防爆挠性管-依客思防爆科技 | 珠海白蚁防治_珠海灭鼠_珠海杀虫灭鼠_珠海灭蟑螂_珠海酒店消杀_珠海工厂杀虫灭鼠_立净虫控防治服务有限公司 | 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 粉碎机_塑料粉碎机_塑料破碎机厂家-星标机械 | 南京欧陆电气股份有限公司-风力发电机官网 | 高考志愿规划师_高考规划师_高考培训师_高报师_升学规划师_高考志愿规划师培训认证机构「向阳生涯」 | 苏州工作服定做-工作服定制-工作服厂家网站-尺品服饰科技(苏州)有限公司 | 杭州|上海贴标机-百科| 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | 广州食堂承包_广州团餐配送_广州堂食餐饮服务公司 - 旺记餐饮 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | 培训无忧网-教育培训咨询招生第三方平台 | 气动隔膜泵-电动隔膜泵-循环热水泵-液下排污/螺杆/管道/化工泵「厂家」浙江绿邦 | 沈阳网站建设_沈阳网站制作_沈阳网页设计-做网站就找示剑新零售 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 冷热冲击试验箱_温度冲击试验箱价格_冷热冲击箱排名_林频厂家 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 智能电表|预付费ic卡水电表|nb智能无线远传载波电表-福建百悦信息科技有限公司 | 气动调节阀,电动调节阀,自力式压力调节阀,切断阀「厂家」-浙江利沃夫自控阀门 | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 物和码官网,物和码,免费一物一码数字化营销SaaS平台 | 粘弹体防腐胶带,聚丙烯防腐胶带-全民塑胶 | 团建-拓展-拓展培训-拓展训练-户外拓展训练基地[无锡劲途] | 仿真植物|仿真树|仿真花|假树|植物墙 - 广州天昆仿真植物有限公司 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 发电机组|柴油发电机组-批发,上柴,玉柴,潍柴,康明斯柴油发电机厂家直销 | 涡轮流量计_LWGY智能气体液体电池供电计量表-金湖凯铭仪表有限公司 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 智慧消防-消防物联网系统云平台 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 飞利浦LED体育场灯具-吸顶式油站灯-飞利浦LED罩棚灯-佛山嘉耀照明有限公司 | 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 睿婕轻钢别墅_钢结构别墅_厂家设计施工报价 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 辊道窑炉,辊道窑炉厂家-山东艾希尔 | 氮化镓芯片-碳化硅二极管 - 华燊泰半导体 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 |