Spring Boot 定时任务单线程和多线程
1、创建定时任务:
@Component
public class AutoNotifyController {
/**
* 获取RedisUtils注入的bean
*
* @return
*/
private ThreadUtil getThreadUtil() {
ThreadUtil threadUtil = SpringContextUtil.getBean("threadUtil");
return threadUtil;
}
/**
* @描述: 推送启动充电结果的自动获取和处理分发方法
* @输入值: void
* @返回值: void
*/
@Scheduled(cron = "*/5 * * * * ?")
public void AutoNotifyStartChargeResult() {
getThreadUtil().AutoNotifyStartChargeResult();
}
/**
* @描述: 推送充电状态的自动获取和处理分发方法
* @输入值: void
* @返回值: void
*/
@Scheduled(cron = "*/50 * * * * ?")
public void AutoNotifyChargeStatus() {
getThreadUtil().AutoNotifyChargeStatus();
}
/**
* @描述: 推送停止充电结果的自动获取和处理分发方法
* @输入值: void
* @返回值: void
*/
@Scheduled(cron = "*/5 * * * * ?")
public void AutoNotifyStopChargeResult() {
getThreadUtil().AutoNotifyStopChargeResult();
}
/**
* @描述: 推送订单信息的自动获取和处理分发方法
* @输入值: void
* @返回值: void
*/
@Scheduled(cron = "*/5 * * * * ?")
public void AutoNotifyOrderInfo() {
getThreadUtil().AutoNotifyOrderInfo();
}
/**
* @描述: 公共信息部分的设备状态变化推送接口的自动获取和处理分发方法
* @输入值: void
* @返回值: void
*/
@Scheduled(fixedRate = 200)
public void checkGunStatus() {
getThreadUtil().checkGunStatus();
}
/**
* @描述: 对于Redis中的活跃订单增加和删除的轮询执行方法
*/
@Scheduled(cron = "*/5 * * * * ?")
public void ActiveOrderAddAndDelete() {
getThreadUtil().ActiveOrderAddAndDelete();
}
/**
* @描述: 对于Redis中的结束订单订单增加和删除的轮询执行方法
*/
@Scheduled(cron = "*/5 * * * * ?")
public void EndOrderAddAndDelete() {
getThreadUtil().EndOrderAddAndDelete();
}
}

![Spring Boot 定时任务单线程和多线程
[编程语言教程]](https://www.zixueka.com/wp-content/uploads/2024/01/1706715253-c02d76ca28bd34d.jpg)
