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

Timer指定时间定时任务运行

代码


import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

@Component
@Slf4j
public class Job02 {
    @PostConstruct
    public synchronized void run() {
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                // 这里放置每次定时任务需要执行的代码
                System.out.println("定时任务执行...");
            }
        };

        // 设置定时任务每天运行的时间点
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, 18); // 设置为下午3点(24小时制)
        calendar.set(Calendar.MINUTE, 15);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);

        // 如果当前时间已经过了今天运行时间,则设置为明天同一时间
        if (calendar.getTime().before(new Date())) {
            calendar.add(Calendar.DATE, 1);
        }
        
        Date firstTime = calendar.getTime(); // 第一次运行的时间

        Timer timer = new Timer();

        // 安排定时任务每天在指定时间运行
        timer.schedule(task, firstTime, 10000); // 每天间隔24小时

        // 如果需要取消定时任务,可以调用timer.cancel()
    }

    @PostConstruct
    public synchronized void run1(){
        System.out.println("@PostConstruct");
    }
}

https://blog.51cto.com/u_16175463/11310010
https://blog.51cto.com/u_16213460/8471910


http://www.kler.cn/a/390458.html

相关文章:

  • vue中如何关闭eslint检测?
  • 链游系统定制化开发:引领游戏产业的新时代
  • 解决表格出现滚动条样式错乱问题
  • nginx部署H5端程序与PC端进行区分及代理多个项目及H5内页面刷新出现404问题。
  • Rust学习(二):rust基础语法Ⅰ
  • 云原生-docker安装与基础操作
  • ONLYOFFICE 8.2 版:助力自动化办公的佼佼者
  • 2024年11月7日Github流行趋势
  • sql server启用远程连接与修改默认端口
  • 【FastAdmin】在页面中使用layui,以此引申使用颜色选择器示例
  • WMS仓储管理系统三个重要的使用价值
  • 内网环境,基于k8s docer 自动发包
  • go语言中的错误处理详解
  • 电脑桌面水印是什么,在哪里设置?手把手教会你三个方法,给电脑屏幕添加水印!(亲测好用)
  • linux-c 使用c语言操作sqlite3数据库-1
  • 工程认证与Spring Boot:计算机课程管理的新探索
  • Javascript高级—深浅拷贝
  • Elasticsearch知识点汇总
  • 调用API进行验证码测试/python
  • 【vue3文件上传同时出现两个提示框,一个提示成功,一个提示失败,一个是用写死的,一个是接口返回的】
  • Android 图片保存
  • electron 中 contextBridge 作用
  • JVM 处理多线程并发执行
  • 什么是JVM实现
  • 电力巡检新利器:输电线路全景与云台变焦视频监控装置
  • 【算法-插入排序】基础知识,代码示例和应用场景