@Scheduled定时任务

这是一个关于使用SpringBoot的定时任务功能,每天7点自动执行的保费文件解析示例。代码中展示了启动类启用定时任务,并定义了一个保费任务类,该类使用了@Scheduled注解来定时从FTP获取保费信息文件,进行解析并入库。同时,还提供了一个测试接口供手动触发任务执行。
摘要由CSDN通过智能技术生成

1,简介
此为spring定时任务最简单的用法。
2,上代码
启动类:
package com.zkml.hkm;

import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**

  • @author ASUS
    */
    @SpringBootApplication
    @EnableSwagger2
    @EnableSwaggerBootstrapUI
    @EnableScheduling
    public class HkmApplication {

    public static void main(String[] args) {
    SpringApplication.run(HkmApplication.class, args);
    }

}

package com.zkml.hkm.web.task.premium;

import com.alibaba.fastjson.JSON;
import com.zkml.hkm.web.business.service.PremiumTaskService;
import com.zkml.hkm.common.ResponseBean;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;
保费定时任务类,每天7点执行
/**

  • @author xie

  • 保费文件读取定时任务
    */
    @Component
    @Slf4j
    @RequestMapping("/hkm/premiumTask/")
    public class PremiumTask {

    @Autowired
    private PremiumTaskService premiumTaskService;

    /**

    • 解析ftp上的保费信息文件(.txt),并入库
      */
      @Scheduled(cron = “0 0 7 * * ?”)
      private void getPremiumFileTask(){
      log.info(“定时任务:开始获取待处理的保费文件”);
      List premiumFileListFromDir = premiumTaskService.getFileListFromDir();
      log.info(“待处理的保费文件: {}”, JSON.toJSONString(premiumFileListFromDir));
      for (String premiumFileName : premiumFileListFromDir) {
      ResponseBean responseBean = premiumTaskService.analysisPremiumFile(premiumFileName);
      if(1 == responseBean.getCode()){
      log.info("{}保费文件解析入库成功!",premiumFileName);
      }else{
      log.info("{}保费文件解析入库失败!",premiumFileName);
      }
      }
      }

    /**

    • 供测试使用
      */
      @ApiOperation(value = “解析保费信息”, notes=“解析保费信息”, produces = “application/json”)
      @PostMapping("/testPremiumFileTask")
      public void testPremiumFileTask(){

      log.info(“定时任务:开始获取待处理的保费文件”);
      List premiumFileListFromDir = premiumTaskService.getFileListFromDir();
      log.info(“待处理的保费文件: {}”, JSON.toJSONString(premiumFileListFromDir));
      for (String premiumFileName : premiumFileListFromDir) {
      ResponseBean responseBean = premiumTaskService.analysisPremiumFile(premiumFileName);
      if(1 == responseBean.getCode()){
      log.info("{}保费文件解析入库成功!",premiumFileName);
      }else{
      log.info("{}保费文件解析入库失败!",premiumFileName);
      }
      }
      }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值