没有数据库的 Spring ShedLock

标签 spring database shedlock

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

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

No qualifying bean of type 'net.javacrumbs.shedlock.core.LockProvider

最佳答案

如果您将 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

关于没有数据库的 Spring ShedLock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70651078/

相关文章:

java - Spring Cloud 溪流和动物园管理员

mysql - 在其他列的定义中使用列名 "variable"

database - 在 E/R 模型中将三元关系转换为二元关系

java - Spring Shedlock 时序问题

java - HierarchicalUriComponents - 尝试导入它时无法识别它

java - 如果类路径中不存在类,spring boot autoconfigure 如何工作

spring - 不能模拟 StreamBridge Final

mysql - 在启动时创建数据库连接 - sails.js

java - 谁能解释一下 lockAtLeastFor = "PT1M45S"中提到的时间,lockAtMostFor = "PT2M"这里的 PT 是什么