2024Java springboot mybatis-flex 根据数据表时间开启定时任务

news/2024/10/19 21:32:29/

1.数据表自定义的时间(我要11和00分开 )

2.启动类添加定时任务逻辑


@SpringBootApplication
@MapperScan("com.test.mapper")
// 开启定时任务
@EnableScheduling
public class TestApplication {//引入自己的mapper层或service层@Resourceprivate SetUpMapper setUpMapper;public static void main(String[] args) {SpringApplication.run(TestApplication.class, args);}//定时任务  @PostConstruct不要丢了@PostConstructpublic void scheduleTasks() {ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(2);//获取时间点 11:00String morning = setUpMapper.selectOneById(5).getParameter().split("-")[1];//定时任务业务//获取小时11,Integer.parseInt(morning.split(":")[0] //获取分钟00,Integer.parseInt(morning.split(":")[1] //定时任务就是,11点00分开启定时任务scheduler.schedule(() -> {//定时任务业务,这是 简单测试,到点打印下班啦System.ou.println("下班啦");}, getTimeUntilNextExecution(Integer.parseInt(morning.split(":")[0]), Integer.parseInt(morning.split(":")[1])), TimeUnit.SECONDS);/*** 计算距离下一个指定时间点的时间间隔(单位:秒)** @param hour* @param minute* @return*/private long getTimeUntilNextExecution(int hour, int minute) {Calendar now = Calendar.getInstance();Calendar nextExecutionTime = Calendar.getInstance();nextExecutionTime.set(Calendar.HOUR_OF_DAY, hour);nextExecutionTime.set(Calendar.MINUTE, minute);nextExecutionTime.set(Calendar.SECOND, 0);if (now.after(nextExecutionTime)) {// 如果当前时间已经过了指定时间点,则推迟到第二天nextExecutionTime.add(Calendar.DAY_OF_MONTH, 1); }return (nextExecutionTime.getTimeInMillis() - now.getTimeInMillis()) / 1000;}}


http://www.ppmy.cn/news/1438148.html

相关文章

Java本地缓存技术选型(Guava Cache、Caffeine、EhCache)

前言 对一个java开发者而言,提到缓存,第一反应就是Redis。利用这类缓存足以解决大多数的性能问题了,我们也要知道,这种属于remote cache(分布式缓存),应用的进程和缓存的进程通常分布在不同的服…

关于selenium各种操作语句(方便查询便携版)

定位方法 #功能from selenium import webdriver#载入驱动 from selenium.webdriver.common.by import By #新版载入by,旧版的find_element_by_id语句一般会被划掉,然后给你提示说语句已淘汰,不过目前还是可以运行,只是代码不好看。#启动驱动的…

Node.js 基础学习

文章目录 1. Node.js1.1 是什么?1.2 作用 2. 命令行工具2.1 命令的结构2.2 常用命令 3. Node.js 注意点3.1 Node.js 中不能使用DOM 和BOM 的API3.2 Node.js 中顶级对象叫做global 4. Buffer4.1 Buffer 特点4.2 Buffer 创建方式4.3 Buffer 操作与注意点 5. 计算机基础…

以太网ARP协议解析

一、什么是ARP协议 ARP协议,全称是Address Resolution Protocol,即地址解析协议。 ARP协议的作用,就是在已知目标设备的IP地址但是不知道其MAC地址的时候,根据IP地址,获取到其MAC地址,以便组成完整的IP包进…

基于spring boot开发的快递管理系统开题报告

快递公司管理系统开题报告 一、研究背景与意义 随着电子商务的蓬勃发展,快递物流行业迎来了前所未有的增长机遇。然而,快递公司在面对日益增长的业务量时,也面临着管理效率低下、资源分配不合理、客户服务体验不佳等问题。开发一套高效、智…

深入了解MySQL:从基础到特性,全面解读关系数据库管理系统的历史与应用

文章目录 1. MySQL简介1.1 概述1.2 架构与兼容性1.3 开源与社区支持 2. MySQL的历史2.1 创始与初衷2.2 发展历程2.3 在Oracle的持续发展2.4 开源与商业结合 3. MySQL的核心特性4. MySQL在实际应用中的作用4.1 网站建设与内容管理4.2 商业智能与客户关系管理4.3 企业级应用与云集…

API接口开发分享:API接口接入拼多多平台采集商品详情实时数据、获取商品销量、价格、库存、名称等数据,免费接入key获取示例

要接入拼多多平台的API接口采集商品详情数据、商品销量、价格、库存、名称等数据,首先需要注册一个API账号。用来请求调用该api。 接下来,你可以使用Python等编程语言调用拼多多的API接口。以下是一个使用Python调用拼多多API接口的示例: i…

探索数学语言模型的前沿进展——人工智能在数学教育和研究中的应用

数学一直被认为是科学的基石,对于推动技术进步和解决现实世界问题具有重要意义。然而,传统的数学问题解决方式正面临着数字化转型的挑战。MLMs的出现,预示着数学学习和研究方式的一次革命。 MLMs,包括预训练语言模型(…