首页 > 其他分享 >直播系统开发,springboot指定时间触发定时任务

直播系统开发,springboot指定时间触发定时任务

时间:2023-08-24 14:26:36浏览次数:46  
标签:java springboot 直播 calendar localDateTime timing new Calendar 定时

直播系统开发,springboot指定时间触发定时任务

新建测试Demo类执行定时任务

 

package com.task.zhixingshijian;
import java.time.LocalDateTime;
import java.time.temporal.ChronoField;
import java.util.*;
/**
 * @author wuzhenyong
 * ClassName:TaskDemo.java
 * date:2022-09-28 09:44
 * Description:
 */
public class TaskDemo {
/**
* 指定时间执行一次定时任务
*
* @param localDateTime 触发时机
* @param timing        参数信息
*/
public void timing(LocalDateTime localDateTime, Map<String, String> timing) {
Calendar calendar = Calendar.getInstance();
// 年份
calendar.set(Calendar.YEAR, localDateTime.get(ChronoField.YEAR));
// 月份 传入日期需要-1
calendar.set(Calendar.MONTH, localDateTime.get(ChronoField.MONTH_OF_YEAR)-1);
// 天数
calendar.set(Calendar.DAY_OF_MONTH, localDateTime.get(ChronoField.DAY_OF_MONTH));
// 小时
calendar.set(Calendar.HOUR_OF_DAY, localDateTime.get(ChronoField.HOUR_OF_DAY));
// 分钟
calendar.set(Calendar.MINUTE, localDateTime.get(ChronoField.MINUTE_OF_HOUR));
// 秒
calendar.set(Calendar.SECOND, localDateTime.get(ChronoField.SECOND_OF_MINUTE));
Date time = calendar.getTime();
Timer timer = new Timer();
// 执行
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("执行了指定执行时间任务,localDateTime:" + LocalDateTime.now());
System.out.println("执行内容:" + timing.toString());
}
}, time);
}

创建项目启动后进行配置具体时间执行定时类

注意:此类只是测试一下,如果项目中是不需要此类的

 


package com.task.zhixingshijian;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
/**
 * @author wuzhenyong
 * ClassName:TaskCommandLineRunner.java
 * date:2022-09-28 09:43
 * Description:
 */
@Component
public class TaskCommandLineRunner implements org.springframework.boot.CommandLineRunner {
/**
* 启动项目后运行
*
* @param args arg游
*/
@Override
public void run(String... args) {
// 指定触发的时间1
LocalDateTime localDateTime1 = LocalDateTime.of(2022, 9, 28, 10, 14, 00);
Map<String, String> timing1 = new HashMap<>();
timing1.put("name", "timing1");
new TaskDemo().timing(localDateTime1, timing1);
// 指定触发的时间2
LocalDateTime localDateTime2 = LocalDateTime.of(2022, 9, 28, 10, 13, 00);
Map<String, String> timing2 = new HashMap<>();
timing2.put("name", "timing2");
new TaskDemo().timing(localDateTime2, timing2);
// 指定触发的时间3
LocalDateTime localDateTime3 = LocalDateTime.of(2022, 9, 28, 10, 15, 00);
Map<String, String> timing3 = new HashMap<>();
timing3.put("name", "timing3");
new TaskDemo().timing(localDateTime3, timing3);
}

 

以上就是 直播系统开发,springboot指定时间触发定时任务,更多内容欢迎关注之后的文章

 

标签:java,springboot,直播,calendar,localDateTime,timing,new,Calendar,定时
From: https://www.cnblogs.com/yunbaomengnan/p/17653997.html

相关文章

  • 直播商城源码,JS Date配置日期格式化
    直播商城源码,JSDate配置日期格式化引入jsDate配置化diamante Date.prototype.format=function(fmt){  varo={    "M+":this.getMonth()+1,         //月份    "d+":this.getDate(),          //日  ......
  • 【STM32】4_0 基础定时器
    基础定时器TIME6和TIME7基本定时器•16位计数器(Counter):基础定时器内部有一个16位的自动增减计数器。计数器可以通过软件或外部触发递增。•时钟源(ClockSource):基础定时器可以使用不同的时钟源作为计数器的输入时钟。通常,它可以选择使用内部时钟(如系统时钟)或外部时钟(如外部......
  • 直播源码开发,Android判断网络是否可用
    直播源码开发,Android判断网络是否可用staticConnectivityManagermConnectivityManager; /** *判断网络是否可用 * *@paramcontext *@return */publicstaticbooleanisNetworkAvailed(finalContextcontext){  if(context==null)  {    return......
  • 【STM32】4_0 基础定时器
    基础定时器TIME6和TIME7基本定时器•16位计数器(Counter):基础定时器内部有一个16位的自动增减计数器。计数器可以通过软件或外部触发递增。•时钟源(ClockSource):基础定时器可以使用不同的时钟源作为计数器的输入时钟。通常,它可以选择使用内部时钟(如系统时钟)或外部时钟(如外部......
  • Mysql 定时备份数据库脚本
    Mysql定时备份数据库;并且删除X天前的备份数据;1.  创建数据目录mkdirdatacd/data2.  编写脚本文件    vim  backup.sh#!/bin/bash#日期dd=`date+%Y-%m-%d-%H-%M-%S`#保存备份个数,备份2天数据backup_clean_day=2#用户名username=root#密......
  • Springboot-配置文件
    1.SpringBoot配置文件格式1.properties2.ymlproperties优先级高于yml。自动识别的配置文件:bootstrap.yml和application.yml,bootstrap.yml先于application.yml加载,一般用于系统级别的配置,application.yml一般用于项目级别的配置Springboot官方的配置:https://docs......
  • springBoot 整合 poi 导出带有复杂表格(合并表格)的word文件
    1.Maven依赖见上一篇文章直接贴源码如下:packagecom.mingx.pms.web.system.file;importcn.hutool.core.date.DateUtil;importcom.mingx.pms.constant.SystemInfo;importcom.mingx.pms.entities.workplan.plan.vo.WorkPlanDetailExportVO;importcom.mingx.pms.entities......
  • 直播app源码,会话描述协议SDP:高质量平台服务
    摘要:SDP协议又称为会话描述协议,在直播app源码平台中,通过定义实时通信参数,管理会话信息和媒体数据,来为用户提供实时通信服务,确保通信的质量与稳定,例如:在直播app源码平台的直播间中,SDP协议可以为观众与主播实时通信,来实现主播与观众的实时交流。  引言:在这个现代大部分人都......
  • SpringBoot 测试实践 - 3:@MockBean、@SpyBean 、提升测试运行速度、Testcontainer
    编写测试的时候,我们必须保证外部依赖行为一致,也需要模拟一些边界条件,所以我们需要使用Mock来模拟对象的行为。SpringBoot提供了@MockBean和@SpyBean注解,可以方便地将模拟对象与Spring测试相结合,简化测试代码的编写@MockBean@MockBean是SpringBootTest提供的注解,用......
  • spring和springboot笔试题
    springboot选择题、判断题_西凉辰的博客-CSDN博客Java常见的spring笔试选择题_spring选择题_学亮编程手记的博客-CSDN博客 ......