springboot项目,启动项目后启动的定时器,定时执行任务

package com.wiscom.ism.webapi.ismController;

import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import java.io.File;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

@Component
public class DeleteImgController implements ApplicationRunner {

    /*
     * 定时删除以图搜图上传到static upload images search 文件夹下的照片
     * d定时每天的23点59分删除
     * */
//项目启动后执行的方法
    @Override
    public void run(ApplicationArguments args) throws Exception {
        startDeleteImgService();//
    }
    //定时器
    public void startDeleteImgService() {
        System.out.println("启动删除====");
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 0);
        Date time = calendar.getTime();
        Timer timer = new Timer();
        timer.scheduleAtFixedRate(new TimerTask() {
            public void run() {
                File file = new File("static/upload/images/search");
                if (file.exists()) {
                    String[] list = file.list();
                    for (String name : list) {
                        File f = new File("static/upload/images/search", name);
                        if (f.isFile()) {
                            f.delete();
                        }
                    }
                }
            }
        }, time, 1000 * 60 * 60 * 24);
    }     //执行时间     间隔时间

}

原文地址:https://www.cnblogs.com/maocai2018/p/10122291.html

时间: 2024-10-11 10:59:03

springboot项目,启动项目后启动的定时器,定时执行任务的相关文章

.net 定时器 定时执行某个方法

System.Timers.Timer pTimer = new System.Timers.Timer(10000);//每隔5秒执行一次,没用winfrom自带的 pTimer.Elapsed += Button1;//委托,要执行的方法 pTimer.Elapsed += Button2;//委托,要执行的方法 pTimer.Elapsed += Button3;//委托,要执行的方法 pTimer.AutoReset = true;//获取该定时器自动执行 pTimer.Enabled

springMVC设置定时器定时执行某个方法

   <!--人事档案工龄 在applicationContext.xml中配置-->   <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序  -->         <bean id="pstartQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.

springboot项目启动成功后执行一段代码的两种方式

springboot项目启动成功后执行一段代码的两种方式 实现ApplicationRunner接口 package com.lnjecit.lifecycle; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; import org.sp

项目部署到tomcat6.0启动成功后访问页面报500错误解决方法

如题:项目部署到tomcat6.0启动成功后访问页面报500错误解决方法,很奇葩,启动的时候没有任何问题,但输入访问地址后报500,去年国庆放假前夕,为这个问题伤神了半天最后解决了,今天又碰到了,乍一看摸不着头,后面仔细回想了下,迅速解决了问题. 原因:项目里面的jar和tomcat里面lib里面的jar重复了. 解决方法: 1.要么更换tomcat7或之后的版本,之后的版本就不会出现这个问题. 2.去部署之后的tomcat的webapps\项目名\WEB-INF\lib 里面删掉jsp-api

解决Android Studio启动项目后一直处于refreshing &#39;View&#39; gradle project,快速解决亲测有效

一直处于refreshing 'View' gradle project最根本的原因是项目中所用到的gradle版本在GRADLE_USER_HOME这个路径下没有找到,所以就利用distributionUrl这个路径进行下载,但是呢下载的时候会非常非常慢,So就一直卡在了refreshing 'View' gradle project 我的这个GRADLE_USER_HOME="C:\Users\Ivan\.gradle\wrapper\dists",大家可以根据自己的路径找到 要快

解决eclipse使用tomcat启动项目后访问项目404的问题

今天启动项目的时候发现项目启动没有问题,但是一直访问不到页面,F12发现根本没有交互,百度后解决了,故记下来为以后提供方法,若有不同的解决方法,欢迎指教 1.首先要确保你的tomcat下没有项目,怎么查看呢,点击window-->show view-->如果没有看到server,则点击other,-->搜索server,找到后,点击open 2.可以在控制栏看到server,里面是你eclipse配置的tomcat,清空该tomcat下的项目 3.双击tomcat,按照下图进行修改,至此

记录下自己VUE项目用Hbuider打包后启动白屏问题

刚用VUE做项目,之前测试时vue创建的自身项目打包都是启动OK没问题.今天打包自己的时,启动一直白屏.折磨了好久,百度了一堆.终于找到了方法. 首先是在config/index.js里面 build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../dist'), assetsSu

SpringBoot电商项目实战 — 前后端分离后的优雅部署及Nginx部署实现

在如今的SpringBoot微服务项目中,前后端分离已成为业界标准使用方式,通过使用nginx等代理方式有效的进行解耦,并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构.多端化服务(多个客户展现端,例如:web端,安卓app,IOSapp,微信小程序等)打下坚实的基础.这个步骤是系统架构从猿进化成人的必经之路. image 上图是简单的分布式微服务开发及前后端分离的示意图.展现层也就是所谓的前端(客户可直观看到的),比如电商项目前端包含:app(安卓和IOS).微信小程序.PC商

Angular2启动项目的报错:ERROR in AppModule is not an NgModule

Angular2启动项目的报错,类似于如下报错截图,希望对大家有用,报错信息:ERROR in AppModule is not an NgModule 出现这类问题是因为版本不同导致启动失败 下面介绍下解决方案: 1.查看依赖组件  npm ls typescript 如下图 图中信息表明:这个项目需要依赖的版本2.2.2 ,电脑中已安装的版本2.3.2. 2.输入cnpm install typescript [email protected],安装一个2.2.2的版本.(看另一篇博客,我把

快速搭建yeoman+webpack+react项目和npm start启动命令失败问题

今天准备看着书写一个React小项目来着,结果发现npm start命令简直成了一只拦路虎,从昨晚报错报到了现在...今早花了一上午揪了各种错,把nodejs和npm各种重写卸载了重装还是发现不行,最后...发现我一直是在git bash上操作,重装了npm的淘宝镜像还是缺少了node_moudle里面的各种,所以,改用了cmd命令行重装了npm发现就可以了...为什么在git bash上就不行了呢??这个容我再捣鼓捣鼓先 利用yeoman快速搭建react-webpack开发环境 1.安装ye