使用定时器:@Scheduled(cron="0 0/59 * * * ? ")的步骤:
1、在spring-context.xml中加入:
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
再加入定时的:
<task:annotation-driven />
2、在代码的前面加入@Scheduled(cron="0 0/59 * * * ? ")的注解;
package com.yitianjian.ops.task;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.yitianjian.common.domain.ReleaseProductStatistics;
import com.yitianjian.common.domain.User;
import com.yitianjian.common.service.ReleaseProductService;
import com.yitianjian.common.service.ReleaseProductStatisticsService;
import com.yitianjian.common.service.UserService;
@Component
public class UpdateProductReleaseTask {
@Autowired
private UserService userService;
@Autowired
private ReleaseProductService releaseProductService;
@Autowired
private ReleaseProductStatisticsService releaseProductStatisticsService;
/**每隔1小时执行一次*/
@Scheduled(cron="0 0/59 * * * ? ")
public void doTask(){
List<User> userList = userService.queryAllUser();
for(User user: userList){
ReleaseProductStatistics rps = new ReleaseProductStatistics();
rps.setId(UUID.randomUUID().toString());
rps.setUserName(user.getUserName());
rps.setSuccessCount(releaseProductService.queryPublishedProductsCount(user));
rps.setFailureCount(releaseProductService.queryFailureProductsCount(user));
rps.setCreatedOn(new Date());
releaseProductStatisticsService.insert(rps);
}
}
}
相关文章
- C++中类成员使用前需要初始化的重要性
- 【古月21讲】ROS入门系列(1)——ROS命令工具的使用及创建工作空间和功能包
- Python环境管理Poetry的使用
- SSM框架实战-搭建自己的个人博客2-UEditor编辑器的使用
- go-zero学习及使用中遇到的问题
- RK3568平台开发系列讲解(驱动基础篇)IS_ERR函数的使用
- pytest学习和使用23-通俗易懂的聊聊allure常用特性集合及使用方法说明
- PyTorch 之 简介、相关软件框架、基本使用方法、tensor 的几种形状和 autograd 机制
- Linux系统之温度监控工具——lm_sensors的安装和基本使用
- C# autofac 在Net6中的使用