ITPub博客

首页 > 应用开发 > IT综合 > 一对一直播系统源码,实现一个定时器

一对一直播系统源码,实现一个定时器

IT综合 作者:云豹科技晓彤 时间:2021-12-27 16:56:59 0 删除 编辑

在一对一直播系统源码中加入定时任务,这里介绍一种方式:使用监听器注入。


一、使用监听器注入

①:创建监听器类:

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class TimerDataTaskListener implements ServletContextListener {
	
	@Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        new TimerManager();
    }
	
	@Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
    }
}

②:创建定时任务类:

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
public class TimerManager {
    //时间间隔:24h
    private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;
    public TimerManager() {
        Calendar calendar = Calendar.getInstance();
        //定制每日12:30:30执行
        calendar.set(Calendar.HOUR_OF_DAY, 12);
        calendar.set(Calendar.MINUTE, 30);
        calendar.set(Calendar.SECOND, 30);
        Date date = calendar.getTime();     //第一次执行定时任务的时间
        //如果当前时间已经过去所定时的时间点,则在第二天时间点开始执行
        if (date.before(new Date())) {
            date = this.addDay(date, 1);
        }
        Timer timer = new Timer();
        TimerTaskService task = new TimerTaskService();
        //安排指定的任务在指定的时间开始进行重复的固定延迟执行。
        timer.schedule(task, date, PERIOD_DAY);
    }
    // 增加或减少天数
    private Date addDay(Date date, int num) {
        Calendar startDT = Calendar.getInstance();
        startDT.setTime(date);
        startDT.add(Calendar.DAY_OF_MONTH, num);
        return startDT.getTime();
    }
}

③:创建TimerTask类:

import java.util.TimerTask;
public class TimerTaskService extends TimerTask {
    @Override
    public void run() {
        try {
        	//要执行的任务逻辑写在这里
            System.out.println("插入密码成功!");
        } catch (Exception e) {
            System.out.println("插入密码失败!");
        }
    }
}

④:在web.xml注册监听器

<!-- TimerDataTaskListener 监听器 -->
    <listener>
      <listener-class>com.jsiqi.resume.service.TimerDataTaskListener</listener-class>
    </listener>

这样,一对一直播系统源码就实现了一个定时器。

声明:本文由云豹科技转发自东窗凝残月博客,如有侵权请联系作者删除

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70002045/viewspace-2849564/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
音视频软件开发相关知识科普账号

注册时间:2021-06-11

  • 博文量
    163
  • 访问量
    60340