当前位置: 首页 > news >正文

黑豹程序员-Spring Task实现定时任务

定时任务

项目中,我们有一个特殊的要求,无需人为去触发,而是自动去触发程序。通常有一定的频率,每天,某时等。

实现的四种方式

1、java自身提供定时任务java.util.Timer类,但太过简单,几乎无人使用;
2、ScheduledExecutorService:也jdk自带的一个类;是基于线程池设计的定时任务类;并发性能佳;
3、Quartz:这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂;
4、Spring Task:Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多;
5、Elastic-Job的特点在于其弹性化的调度和任务分片机制,可以有效地解决任务并发和分布式的问题。它还提供了丰富的任务类型和插件式扩展,例如Shell、HTTP、Dubbo等,方便开发者们快速构建定时任务。另外,Elastic-Job还具有任务的动态配置和监控功能,可以对任务进行实时的管理和调优。

这里可以看出Elastic-Job最为强大,但也太过繁琐。
本人推荐采用Spring Task,其功能足够用,又和Spring对接,可以直接使用Spring的资源,操作起来最为方便。

Spring Task 代码实现

@EnableScheduling
@Component
@Slf4j
public class ScheduleTask {@Autowiredprivate SuperviseTaskService superviseTaskService;@Autowiredprivate NoticeService noticeService;@Scheduled(cron = "*/5 * * * * ?")  //cron表达式,定义定时任务每隔5秒;*/5 * * * * ?;每天凌晨3点执行一次:0 0 3 * * ?private void configureTasks() {log.debug("执行定时任务: " + new Date());}}

相关文章:

黑豹程序员-Spring Task实现定时任务

定时任务 项目中,我们有一个特殊的要求,无需人为去触发,而是自动去触发程序。通常有一定的频率,每天,某时等。 实现的四种方式 1、java自身提供定时任务java.util.Timer类,但太过简单,几乎无…...

云原生安全当前的挑战与解决办法

云原生安全作为一种新兴的安全理念,不仅解决云计算普及带来的安全问题,更强调以原生的思维构建云上安全建设、部署与应用,推动安全与云计算深度融合。所以现在云原生安全在云安全领域越来受到重视,云安全厂商在这块的投入也是越来…...

Qt——Qt实现数据可视化之QChart的使用总结(使用QChart画出动态显示的实时曲线)

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C++语言开发基础总结》 《从0到1学习嵌入式Linux开发》...

(React生命周期)前端八股文修炼Day8

一 React的生命周期有哪些 React组件的生命周期可以分为三个主要阶段:挂载(Mounting)、更新(Updating)和卸载(Unmounting)。React类组件的生命周期方法允许你在组件的不同阶段执行代码。 挂载…...

考研||考公||就业||其他?-------愿不再犹豫

大三下了,现在已经开学一个多月了,在上个学期的时候陆陆续续吧周围有的行动早的人已经开始准备考研了,当然这只是下小部分人吧,也有一部分人是寒假可能就开始了,更多的则是开学的时候,我的直观感受是图书馆…...

使用 Selenium 和 OpenCV 识别验证码(使用 Java)

验证码的自动识别对于爬虫来说是一个常见的挑战。在这篇文章中,我们将展示如何使用 Selenium 和 OpenCV,结合 Java,来自动化识别网站上的验证码。 配置 Maven 依赖 首先,我们需要在 Maven 项目中添加 Selenium 和 OpenCV 的依赖。…...

什么是数据库?如何安装SQL Server(超详细版)

文章目录 什么是数据库数据库与数据库管理系统数据库系统之间的区别和联系数据库在生活中的应用 安装SQL Server数据库系统要求 安装步骤(超详细)安装前的准备 安装SSMS 什么是数据库 数据库,顾名思义,是存储数据的“仓库”。它不仅仅是简单的数据存储&…...

Golang 开发实战day08 - Multiple Return values

Golang 教程08 - Multiple Return values 1. Multiple return values 1.1 如何理解多个返回值? Go语言中的多返回值,就像你听了一首歌曲yellow,可以从歌曲里反馈出忧郁和害羞!Goland的多个返回值就类似于如此,设定一…...

如何成为一名优秀的工程师下

身为工程师,理所当然要重视实践,自然科学不管发展到何时都离不开实验。 电子学本身就是 为了指导工程实践。所以不要谈空洞的理论。现在很多毕业生都面临这样的问题,总是谈一些空洞的理论,甚至错误的但还不以为然的理论。实践可以…...

Docker【1】:Docker制作Oracle19C镜像

Docker【1】:Docker制作Oracle19C镜像 1、参考官方文档2、下载相关文件2.1、工具包2.2、Oracle安装包 3、制作镜像3.1、拷贝下载的oracle安装包到制作工具对应版本目录下3.2、开始制作镜像包3.3、制作完成 4、导出导入镜像4.1、镜像导出4.2、镜像导入 5、运行Oracle…...

Layui三级联动插件使用方法

Layui高版本中没有在提供三级联动这个动画了,而是封装成了一个插件,使用方式也很简单 官网 省市县区三级联动下拉选择器 layarea - Layui 第三方扩展组件平台 (layuion.com)https://dev.layuion.com/extend/layarea/#doc html页面约束 整个选择器需要…...

使用iPhone/安卓手机代替门禁卡

文章目录 基础知识ID卡和IC卡ID卡技术IC卡技术IC卡加密方式手机NFC只能模拟IC卡,而不支持ID卡电梯卡可能使用滚动码验证方式,不支持使用手机模拟 (IC类型)门禁卡验证方式仅验证ID(卡号)验证ID分区信息 iPho…...

UE4_动画基础_角色的缩放

以第三人称模板进行制作。 一、首先为角色缩放新建粒子效果 1、新建niagara system,重命名为NS_Shrink。 2、双击打开设置参数: 发射器重命名: Emitter State: 发射器一次喷发数量: 粒子初始大小,生命周…...

【云开发笔记No.20】中台架构的分类

中台现在成了一个到处都在说的词了,甚至在组织架构中,弄几个万金油,也说有了一个中台支撑部门。一方面是滥用,另一个方面,也说明确实有它的作用和意义。 在云计算和数字化转型日益盛行的今天,中台架构已成…...

【leetcode面试经典150题】18.整数转罗马数字(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…...

NLopt

非线性优化–NLopt (nonlinear optimization)是一个免费的开源的库,提供了很多种非线性优化算的使用接口。 1、其中非常大的优势就是提供多种支持的语言,包括C/ C/ Julia/ Python/ R/ Fortran/ Lua/ OCaml/ Octave等都支持 1. 区别 **COBYLA&#xff0…...

三防笔记本丨工业笔记本电脑丨助力测绘行业的数字化转型

测绘行业测绘行业一直是高度技术化的领域,其重要性在于为建设、规划和资源管理提供准确的地理数据。然而,随着技术的发展,传统的测绘方法已经难以满足对数据精度和实时性的要求。因此,测绘行业正逐渐向数字化转型,采用…...

创建spring boot项目

使用https://start.aliyun.com/ 创建一个spring boot项目 1、打开https://start.aliyun.com/&#xff0c;获取代码 2、解压下载后文件&#xff0c;使用ide打开&#xff0c;pom。xml文件添加&#xff0c;install一下 <dependency><groupId>org.springframework.bo…...

Mongodb字段更新操作符$currentDate

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第54篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。 本文基于Mongodb的官方文档&#xff0c;整理了Mongodb字段更新操作符$currentDate的定义&#xff…...

通信安全之数据加密

数据安全的需求如今越来越重要&#xff0c;本篇简单举例给日常的TCP/UDP通信加密&#xff0c;至少能让想干坏事的崽犯罪的成本更高一些&#xff08;如果会一些BPF的&#xff0c;可能难不住这些崽&#xff09;&#xff0c;能让我们的数据更安全一点。 经典TCP socket编程 下面…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...