自定义liquibase锁

7cjasjjr  于 2021-07-11  发布在  Java
关注(0)|答案(0)|浏览(193)

我一直试图通过扩展liquibase standardlockservice来定制它。
在我们得到一个错误并且锁仍然存在于数据库changelog表中的场景中,我想在获取一个新锁之前强制释放上一个锁。

public class ForceReleaseLockService extends StandardLockService {
private final static Logger LOGGER = LoggerFactory.getLogger(ForceReleaseLockService.class);

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

@Override
public boolean acquireLock() throws LockException {
    LOGGER.info("Forcing release the lock before start liquibase");
    try {
        super.forceReleaseLock();
    } catch (DatabaseException | LockException e) {
        LOGGER.error("Error on release the lock for liquibase.", e);
        throw new LockException("Could not enforce getting the lock.", e);
    }
    return super.acquireLock();
}}

我在另一篇文章中创建了一个名为“liquibase.ext”的项目包,并将我的类放在那里。我已经试过了,但没有成功,或者至少我的日志没有出现在控制台上。
我在spring boot应用程序上运行它。有人有主意吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题