2

我想使用配置 yml 属性禁用 ShedLock。因此,如果没有必要,我不必创建表锁。有没有办法禁用 Shedlock 的使用?

我试图删除 @Bean lockProvider 但后来我收到了这条消息:

没有“net.javacrumbs.shedlock.core.LockProvider”类型的合格 bean

4

1 回答 1

2

如果您将 ShedLock 与shedlock-spring依赖项结合使用,则可能@EnableSchedulerLock在您的应用程序中存在某个位置。将 LockProvider bean 设置连同注解一起移动到单独的@Configuration类并添加@ConditionalOnProperty注解,例如:

@Configuration
@EnableSchedulerLock
@ConditionalOnProperty(value = "shedlock.enabled", matchIfMissing = true)
public class ShedLockConfig {

    @Bean
    public LockProvider lockProvider(DataSource dataSource) {
        // ...
    }
}

并添加属性

shedlock:
  enabled: true

到您的 application.yml

于 2022-01-10T12:49:13.163 回答