直播系统开发,springboot指定时间触发定时任务
直播系统开发,springboot指定时间触发定时任务
新建测试Demo类执行定时任务
1 | package com.task.zhixingshijian;<br>import java.time.LocalDateTime;<br>import java.time.temporal.ChronoField;<br>import java.util.*;<br> /**<br> * @author wuzhenyong<br> * ClassName:TaskDemo.java<br> * date:2022-09-28 09:44<br> * Description:<br> */ <br> public class TaskDemo {<br> /**<br> * 指定时间执行一次定时任务<br> *<br> * @param localDateTime 触发时机<br> * @param timing 参数信息<br> */ <br> public void timing(LocalDateTime localDateTime, Map<String, String> timing) {<br>Calendar calendar = Calendar.getInstance();<br> // 年份<br>calendar.set(Calendar.YEAR, localDateTime.get(ChronoField.YEAR));<br>// 月份 传入日期需要-1<br>calendar.set(Calendar.MONTH, localDateTime.get(ChronoField.MONTH_OF_YEAR)-1);<br>// 天数<br>calendar.set(Calendar.DAY_OF_MONTH, localDateTime.get(ChronoField.DAY_OF_MONTH));<br>// 小时<br>calendar.set(Calendar.HOUR_OF_DAY, localDateTime.get(ChronoField.HOUR_OF_DAY));<br>// 分钟<br>calendar.set(Calendar.MINUTE, localDateTime.get(ChronoField.MINUTE_OF_HOUR));<br>// 秒<br>calendar.set(Calendar.SECOND, localDateTime.get(ChronoField.SECOND_OF_MINUTE));<br>Date time = calendar.getTime();<br>Timer timer = new Timer();<br>// 执行<br>timer.schedule(new TimerTask() {<br>@Override<br>public void run() {<br>System.out.println("执行了指定执行时间任务,localDateTime:" + LocalDateTime.now());<br>System.out.println("执行内容:" + timing.toString());<br>}<br>}, time);<br>}<br>} |
创建项目启动后进行配置具体时间执行定时类
注意:此类只是测试一下,如果项目中是不需要此类的
1 | <br>package com.task.zhixingshijian;<br>import org.springframework.stereotype.Component;<br>import java.time.LocalDateTime;<br>import java.util.HashMap;<br>import java.util.Map;<br> /**<br> * @author wuzhenyong<br> * ClassName:TaskCommandLineRunner.java<br> * date:2022-09-28 09:43<br> * Description:<br> */ <br>@Component<br> public class TaskCommandLineRunner implements org.springframework.boot.CommandLineRunner {<br> /**<br> * 启动项目后运行<br> *<br> * @param args arg游<br> */ <br>@Override<br> public void run(String... args) {<br> // 指定触发的时间1<br>LocalDateTime localDateTime1 = LocalDateTime.of(2022, 9, 28, 10, 14, 00);<br>Map<String, String> timing1 = new HashMap<>();<br>timing1.put("name", "timing1");<br>new TaskDemo().timing(localDateTime1, timing1);<br>// 指定触发的时间2<br>LocalDateTime localDateTime2 = LocalDateTime.of(2022, 9, 28, 10, 13, 00);<br>Map<String, String> timing2 = new HashMap<>();<br>timing2.put("name", "timing2");<br>new TaskDemo().timing(localDateTime2, timing2);<br>// 指定触发的时间3<br>LocalDateTime localDateTime3 = LocalDateTime.of(2022, 9, 28, 10, 15, 00);<br>Map<String, String> timing3 = new HashMap<>();<br>timing3.put("name", "timing3");<br>new TaskDemo().timing(localDateTime3, timing3);<br>}<br>} |
以上就是 直播系统开发,springboot指定时间触发定时任务,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2022-08-24 直播网站程序源码,清除app data以及获取图标
2022-08-24 直播网站源码,Launcher3 删除主页搜索框
2022-08-24 直播电商平台开发,android cardview 取消阴影,高度
2021-08-24 小视频app源码Android OpenGL ES 实现传送带特效
2021-08-24 小视频app源码在Mac系统下编译并使用ijkplyer播放器
2021-08-24 Android一对一直播系统源码实现视频连麦直播