zoukankan      html  css  js  c++  java
  • Spring实现定时器

    定时删除数据库表中数据

    功能点:Spring的task-scheduled

     

    1、实现业务功能

    /**
    * 功能描述: 定时清理30天前内交易表的数据(时间:00:15)
    */
    @Component
    public class TraceShortTimeClearTask {

       static Logger logger = LoggerFactory.getLogger(TraceShortTimeClearTask.class);

       @Autowired
       private TraceChannelMessageShortTimeService traceChannelMessageShortTimeService;


       /**
        * @description:定时清理30天前短时间内交易表的数据
        */
       public void traceShortTimeClear() {

           Date newDate = new Date();
           LocalDate deleteDate = getDate(newDate,30);
           try{
               int i = traceChannelMessageShortTimeService.deleteTrace(deleteDate);
               if (i >= 1){
                   logger.info("TraceShortTimeClearTask------------->traceShortTimeClear清理30天前短时间内交易表的数据成功");
              }
          }catch (Exception e){
               logger.error("删除30天前的数据失败!" + e.getMessage());
          }
      }

       /**
       * 获取时间
       */
       public static LocalDate getSpecifiedDate(int days){

           LocalDate date = LocalDate.now().minusDays(days);
           return date;
      }

    }

     

    2、配置定时规则

    2.1 引入命名空间

    <beans xmlns:task="http://www.springframework.org/schema/task"></beans>

     

    2.2 导入xsi文件

    <beans xsi:schemaLocation="
           http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd"></beans>

     

    2.3 配置实现类

    <bean id="clearTask" class="com.red.task.TraceShortTimeClearTask"></bean>

     

    2.4 配置定时规则

    <task:scheduled-tasks>
       <!--
    ref = "bean的id"
    method = "实现类的方法名"
    cron = "定时规则,秒,分,时,天,月,周,年"
    -->
       <task:scheduled ref="clearTask" method="traceShortTimeClear" cron="0 15 0 * * ?"/>
    </task:scheduled-tasks>

     

    3、数据库语句

    <!--定时清理30天前短时间内交易表的数据-->
    <delete id="deleteTrace">
      delete from 表名
      where 字段名 &lt; concat(#{deleteDate},'%')
    </delete>
  • 相关阅读:
    Kubernetes实战指南(三十三):都0202了,你还在手写k8s的yaml文件?
    Hadoop学习笔记
    Anaconda、Pycharm的安装与运行和Python环境的搭建
    常用编程软件文件配置(下载安装教程)
    error C2678: 二进制“<”: 没有找到接受“const _Ty”类型的左操作数的运算符
    Java 移位运算、符号位扩展
    c++ 集合操作
    c++ 输入与缓冲区
    python 装饰器
    python global 与 nonlocal
  • 原文地址:https://www.cnblogs.com/LittleSkinny/p/13919747.html
Copyright © 2011-2022 走看看