zoukankan      html  css  js  c++  java
  • java设置开始时间,定时执行任务

    这两天有个需求就是计时调用外部的接口,获取返回值更新数据库,

    其实一直对关于线程一块的知识很排斥,可能就是因为底子比较薄弱,

    对有关于这方面的东西都有点云里雾里的感觉,但是直接用人家封装好的说到底还是比较简单了。

    就直接上代码好了。

    @Component
    public class updateAISController implements ApplicationRunner {
    
        @Autowired
        private BoatService boatService;
    
        @Override
        public void run(ApplicationArguments args) throws Exception {
            startUpdate();
        }
    
        public void startUpdate(){
    
            //设置执行时间
            Calendar calendar = Calendar.getInstance();
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH);
            int day = calendar.get(Calendar.DAY_OF_MONTH);
            //设置开始时间
            calendar.set(year,month,day,00,00,02);
            Date date = calendar.getTime();
            //设置计时间隔
            int period = 10*1000*60*24;
            Timer timer = new Timer(true);
            timer.schedule(new TimerTask() {
                @Override
                public void run() {
                        //需要执行的代码
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
    
                }
            },date,period);
    
        }
    }                

    这个具体想要什么效果可以根据自己的需求设置,还是很方便的,

    因为我需求里面是需要进行数据库的操作的,关于调用service还有一部分的坑要填,

    就在下篇博客写吧。

    1234567.

  • 相关阅读:
    httpd添加新模块
    编译httpd细节
    apache配置文件说明及一些指令
    xen原理
    EXSI的使用
    VMWare ESX server安装
    虚拟化技术
    Kvm命令集管理虚拟机
    RAID几种方式
    BZOJ1011 [HNOI2008]遥远的行星 【奇技淫巧】
  • 原文地址:https://www.cnblogs.com/Crush123/p/12107367.html
Copyright © 2011-2022 走看看