Java 定制液化锁
我一直试图通过扩展Liquibase StandardLockService来定制它 在我们得到一个错误的场景中,锁不知何故保留在数据库changelog表上,我想在获取新锁之前强制释放以前的锁Java 定制液化锁,java,spring-boot,liquibase,liquibase-hibernate,Java,Spring Boot,Liquibase,Liquibase Hibernate,我一直试图通过扩展Liquibase StandardLockService来定制它 在我们得到一个错误的场景中,锁不知何故保留在数据库changelog表上,我想在获取新锁之前强制释放以前的锁 public class ForceReleaseLockService extends StandardLockService { private final static Logger LOGGER = LoggerFactory.getLogger(ForceReleaseLockService.
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应用程序上运行它。
有人有想法吗?我在github中发现了一些实现,它们也在做同样的事情,我没有在META-INF下创建一个文件。。。