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);
}
}
}
- 解析ftp上的保费信息文件(.txt),并入库
}