技术之海一望无际, 记忆长流永无|

丿似锦

园龄:7年3个月粉丝:33关注:3

@Scheduled 定时任务自定义

简介

@Scheduled 定时任务自定义可以通过SchedulingConfigurer实现。
SchedulingConfigurerSpring Framework 中的一个接口,用于配置定时任务。当你需要对定时任务进行更高级别的定制时,这个接口就显得非常有用。

  • 可以通过SchedulingConfigurer 接口来自定义一些高级配置
  • 可以通过SchedulingConfigurer 自定义执行定时任务的线程池。
  • 可以通过SchedulingConfigurer自定义任务调度器,比如使用 Quartz 或其他调度框架。

实现

创建一个类实现SchedulingConfigurer

@Configuration
public class ScheduleConfig implements SchedulingConfigurer {
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.setPoolSize(10);
scheduler.setThreadNamePrefix("schedule-executor-");
scheduler.initialize();
taskRegistrar.setScheduler(scheduler);
}
}

可以通过 ThreadPoolTaskScheduler 或者 ScheduledExecutorService 来配置线程池

使用

  • 1.启动类添加 @EnableScheduling 注解
  • 2.使用 @Scheduled 注解
@Scheduled(cron = "0/30 * * * * ?")
public void test(){
log.info("Scheduled Test -- The time is now " + LocalDateTime.now());
}

效果

2024-08-15 20:07:00,014 INFO [schedule-executor-2] com.zk.app.manager.PartitionManager - Scheduled Test -- The time is now 2024-08-15T20:07:00.014
2024-08-15 20:07:30,004 INFO [schedule-executor-3] com.zk.app.manager.PartitionManager - Scheduled Test -- The time is now 2024-08-15T20:07:30.004
2024-08-15 20:08:00,010 INFO [schedule-executor-2] com.zk.app.manager.PartitionManager - Scheduled Test -- The time is now 2024-08-15T20:08:00.010
2024-08-15 20:08:30,014 INFO [schedule-executor-1] com.zk.app.manager.PartitionManager - Scheduled Test -- The time is now 2024-08-15T20:08:30.013
2024-08-15 20:09:00,016 INFO [schedule-executor-5] com.zk.app.manager.PartitionManager - Scheduled Test -- The time is now 2024-08-15T20:09:00.016

总结

  • SchedulingConfigurer 提供了一个灵活的方式来定制定时任务的执行方式。
  • 可以配置线程池的大小、执行策略等。
  • 通过实现该接口并提供给 Spring,你可以完全控制定时任务的执行环境。
  • 能够根据自己的需求来配置定时任务,确保它们按照预期的方式运行。

结束

本文作者:丿似锦

本文链接:https://www.cnblogs.com/zktww/p/18361752

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   丿似锦  阅读(67)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起