• 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>
  • 相关阅读:
    另一种逆元的求解方法
    SSHFS使用笔记
    HDU 2612 Find a way (BFS)
    POJ 3984 迷宫问题 (BFS + Stack)
    计蒜客 疑似病毒 (AC自动机 + 可达矩阵)
    HUD 1426 Sudoku Killer (DFS)
    计蒜客 成绩统计 (Hash表)
    计蒜客 劫富济贫 (Trie树)
    POJ 2251 Dungeon Master (BFS)
    [IB]Integration Broker 是如何处理传入的请求(Part 2)
  • 原文地址:https://www.cnblogs.com/LittleSkinny/p/13919747.html
Copyright © 2020-2023  润新知