SpringBoot使用shedlock做定时任务的实现示例
更新时间:2025年07月24日 09:31:11 作者:caddwu
本文主要介绍了SpringBoot使用shedlock做定时任务的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
1、pom依赖
<dependency> <groupId>net.javacrumbs.shedlock</groupId> <artifactId>shedlock-spring</artifactId> <version>4.15.1</version> </dependency> <dependency> <groupId>net.javacrumbs.shedlock</groupId> <artifactId>shedlock-provider-redis-spring</artifactId> <version>4.15.1</version> </dependency>
2、shedlock使用Redis锁
解决多实例下任务重复执行问题。
@Configuration
public class ScheduleLockConfig {
@Bean
public LockProvider lockProvider(RedisConnectionFactory redisConnectionFactory) {
return new RedisLockProvider(redisConnectionFactory);
}
}3、配置定时任务线程池
解决多任务并发执行时等待问题。
@Configuration
public class ScheduleConfig implements SchedulingConfigurer {
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(10);
taskScheduler.setThreadNamePrefix("taskScheduler-");
taskRegistrar.setScheduler(taskScheduler);
}
}4、定时任务代码
@Configuration
public class ScheduleTask {
/**
* Concurrent task 1.
*/
@Scheduled(cron = "0/5 * * * * ?")
@SchedulerLock(name = "syncTask1")
public void syncTask1() throws InterruptedException {
System.err.println("并发执行任务1: " + LocalDateTime.now());
Thread.sleep(7000);
}
/**
* Concurrent task 2.
*/
@Scheduled(cron = "0/5 * * * * ?")
@SchedulerLock(name = "syncTask2")
public void syncTask2() {
System.err.println("并发执行任务2: " + LocalDateTime.now());
}
}到此这篇关于SpringBoot使用shedlock做定时任务的实现示例的文章就介绍到这了,更多相关SpringBoot shedlock定时任务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
IDEA使用学生邮箱无法注册问题:JetBrains Account connection error: 拒绝连接
这篇文章主要介绍了IDEA使用学生邮箱无法注册问题:JetBrains Account connection error: 拒绝连接,文中通过图文及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-07-07
在spring boot中使用java线程池ExecutorService的讲解
今天小编就为大家分享一篇关于在spring boot中使用java线程池ExecutorService的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-03-03
eclipse/intellij idea 远程调试hadoop 2.6.0
这篇文章主要介绍了eclipse/intellij idea 远程调试hadoop 2.6.0的相关资料,需要的朋友可以参考下2016-07-07


最新评论