当前位置: 首页 > 知识库问答 >
问题:

Spring靴Liquibase-定制锁服务类

赵渊
2023-03-14

我正在尝试实现定制锁服务类,就像它在回答中所说的:https://stackoverflow.com/a/15567073/5182320

package liquibase.ext;

import liquibase.exception.DatabaseException;
import liquibase.lockservice.StandardLockService;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;

@Slf4j
@Configuration
public class TimeoutLockService extends StandardLockService {
    @SneakyThrows
    @Override
    public void waitForLock() {
        forceReleaseLock();
    }

    @Override
    public int getPriority() {
        return super.getPriority() + 1;
    }

    @Override
    public void init() throws DatabaseException {
        super.init();
        log.info("Init called");
    }
}

将类放在包liquibase中。分机

但当我运行应用程序时,它忽略了这个类,仍然试图获取锁。

共有1个答案

郑俊材
2023-03-14

我试图做一些类似的事情,但我遇到了一个类似的问题,我的更改没有得到响应,即使是在packageliquibase中。ext。我正在使用liquibase 4.3.5,以下文档对我有所帮助。

从4.0开始,我们切换到标准的java.util.ServiceLoader系统来查找扩展类。

https://docs.liquibase.com/tools-integrations/extensions/extension-upgrade-guides/lb-4.0-upgrade-guide.html

我不得不把液化糖装进板条箱。锁具服务。LockService文件在META-INF/services中与我一起实现并解决问题。

 类似资料:
  • 我是一名实习生,我正在尝试学习Liquibase,看看我们是否可以将其用于我们的应用程序。我使用了Git Bash中的Liquibase,没有任何问题(在更新和回滚方面都很好),然后我尝试将Liquibase与Spring Boot项目一起使用,看看是否能够更新数据库。我做到了,我通过Spring Boot创建并更新了db。但接下来我想做一些回滚,但我不能,我不知道该做什么。我试着在Git Bas

  • 是否达到了同时会话/事务的数量?有人有什么想法吗?

  • 我正在迁移一个由liquibase管理的现有数据库。 我已经有了更新日志。该应用程序是一个Spring启动应用程序,我用更新了pom,并设置了Spring液化基属性。 我对一个空数据库进行了测试,运行正常,liquibase在应用程序启动时执行changelog并维护< code>DATABASECHANGELOG表。 现在我面临的问题是数据库已经存在于所有其他环境中,我只想在完成 liquiba

  • 您可以在下面的问题中看到:(liquibase-lock-reasons)当Liquibase操作中断时客户端Liquibase锁定,使Liquibase处于锁定状态。 我想知道是否有一种方法可以配置Liquibase,使其从列中的日期和时间自动检测这种情况。我想如果你已经拿着锁一个小时了--你应该把它叫做过期锁。

  • 当我从Spring Boot应用程序访问/healthendpoint时,它返回的状态为UP: 但我想像这样定制我的状态: 如何自定义状态?

  • 我在针对SAP HANA数据库的VDI上运行liquibase脚本。然后,VDI挂了,所以我就杀了VDI。当再次打开VDI并尝试启动运行相同liquibase脚本的相同应用程序时,我得到以下错误:初始化到HANA的连接...