我一直试图通过扩展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应用程序上运行它。有人有主意吗?
暂无答案!
目前还没有任何答案,快来回答吧!