使用ScheduledLock是为了避免在分布式系统中定时任务多次执行。
pom文件配置
<!-- shedlock-->
<dependency>
<groupId>net.javacrumbs.shedlock</groupId>
<artifactId>shedlock-spring</artifactId>
<version>0.17.0</version>
</dependency>
<dependency>
<groupId>net.javacrumbs.shedlock</groupId>
<artifactId>shedlock-provider-jedis</artifactId>
<version>0.17.0</version>
</dependency>
config配置
@Configuration
public class ShedlockConfig {
//redis配置文件
@Autowired
private RedisConfigProperties redis;
@Bean
public ScheduledLockConfiguration taskScheduler(LockProvider lockProvider) {
return ScheduledLockConfigurationBuilder
.withLockProvider(lockProvider)
.withPoolSize(10)
.withDefaultLock