springboot添加@Scheduled定时任务多线程执行
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.TaskScheduler; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; @SpringBootApplication @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class PlatoonHolyoverApplication { public static void main(String[] args) { SpringApplication.run(PlatoonHolyoverApplication.class, args); } //多线程运行定时任务 @Bean public TaskScheduler taskScheduler() { ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); taskScheduler.setPoolSize(6); return taskScheduler; } }
package com.example.demo.com; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component @EnableAsync @EnableScheduling public class SchedualConfig { @Autowired SynDataHoilday synDataHoilday; @Autowired SynDataOvertime synDataOvertime; @Autowired SynDataPost synDataPost; @Autowired SynDataOrganization synDataOrganization; @Autowired SynDataShiftRule synDataShiftRule; // 同步请假汇总表 @Async @Scheduled(cron = "0 30 0 * * ?") public void taskA() { // 执行你的业务逻辑 synDataHoilday.synHoilday(); } // 同步加班汇总表 @Async @Scheduled(cron = "0 30 0 * * ?") public void taskB() { synDataOvertime.synOvertime(); } //同步崗位 @Async @Scheduled(cron = "0 30 0 * * ?") public void taskC() { synDataPost.synDataPost(); } //同步组织 @Async @Scheduled(cron = "0 30 0 * * ?") public void taskD() { synDataOrganization.synDataOrganization(); } //同步班次信息 @Async @Scheduled(cron = "0 30 0 * * ?") public void taskE() { synDataShiftRule.synDataShiftRule(); } }
我的博客
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!