我在tomcat7上部署了我的应用程序。它连接到后端的MySql DataBase。 我有DATABASECHANGELOG的地方,它的LOCK和用户表配置在'核心'架构。 启动tomcat服务器时,我遇到了以下问题。
INFO 7/9/14 11:04 AM:liquibase:成功获取更改日志锁定
INFO 7/9/14 11:04 AM:liquibase:从partner
读取。DATABASECHANGELOG
INFO 7/9/14 11:04 AM:liquibase:从partner
读取。DATABASECHANGELOG
警告7/9/14 11:04 AM:liquibase:modifyDataType将丢失mysql的主键/自动增量/非空设置。如果是这种情况,请使用并重新指定所有配置
INFO 7/9/14 11:04 AM:liquibase:成功发布更改日志锁定
INFO 7/9/14 11:04 AM:liquibase:成功获取更改日志锁定
INFO 7/9/14 11:04 AM:liquibase:从core
读取。DATABASECHANGELOG
INFO 7/9/14 11:04 AM:liquibase:从core
读取。DATABASECHANGELOG
警告7/9/14 11:04 AM:liquibase:modifyDataType将丢失mysql的主键/自动增量/非空设置。如果是这种情况,请使用并重新指定所有配置
警告7/9/14 11:04 AM:liquibase:modifyDataType将丢失mysql的主键/自动增量/非空设置。如果是这种情况,请使用并重新指定所有配置
警告7/9/14 11:04 AM:liquibase:modifyDataType将丢失mysql的主键/自动增量/非空设置。如果是这种情况,请使用并重新指定所有配置
警告7/9/14 11:04 AM:liquibase:modifyDataType将丢失mysql的主键/自动增量/非空设置。如果是这种情况,请使用并重新指定所有配置
警告7/9/14 11:04 AM:liquibase:modifyDataType将丢失mysql的主键/自动增量/非空设置。如果是这种情况,请使用并重新指定所有配置
警告7/9/14 11:04 AM:liquibase:modifyDataType将丢失mysql的主键/自动增量/非空设置。如果是这种情况,请使用并重新指定所有配置
INFO 7/9/14 11:04 AM:liquibase:成功发布更改日志锁定
INFO 7/9/14 11:04 AM:liquibase:成功获取更改日志锁定
INFO 7/9/14 11:04 AM:liquibase:从partner
读取。DATABASECHANGELOG
INFO 7/9/14 11:04 AM:liquibase:从partner
读取。DATABASECHANGELOG
警告7/9/14 11:04 AM:liquibase:modifyDataType将丢失mysql的主键/自动增量/非空设置。如果是这种情况,请使用并重新指定所有配置
INFO 7/9/14 11:04 AM:liquibase:成功发布更改日志锁定
...
14/09/07 11:04:49 INFO support.GenericXmlApplicationContext:刷新org.springframework.context.support.GenericXmlApplicationContext@771b9e:启动日期[Sun Sep 07 11:04:49 IST 2014];上下文层次结构的根
14/09/07 11:04:49 INFO support.PropertySourcesPlaceholderConfigurer:从类路径资源[jdbc.properties]加载属性文件
14/09/07 11:04:49 INFO support.DefaultListableBeanFactory:在org.springframework.beans.factory.support.DefaultListableBeanFactory@587dcb中预实例化单例:定义bean [org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0,entityManagerFactory ,taxonomy.transaction.manager,taxonomy.datasource,taxonomy.liquibase];工厂等级制的根源
14/09/07 11:04:49 INFO jpa.LocalContainerEntityManagerFactoryBean:为持久性单元构建JPA容器EntityManagerFactory' inference.taxonomy'
14/09/07 11:04:49 INFO ejb.Ejb3Configuration:HHH000204:处理PersistenceUnitInfo [
name:inference.taxonomy
...]
14/09/07 11:04:49 INFO internal.ConnectionProviderInitiator:HHH000130:实例化显式连接提供者:org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
14/09/07 11:04:49 INFO dialect.Dialect:HHH000400:使用方言:org.hibernate.dialect.MySQLDialect
14/09/07 11:04:50 INFO internal.TransactionFactoryInitiator:HHH000268:交易策略:org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory
14/09/07 11:04:50 INFO ast.ASTQueryTranslatorFactory:HHH000397:使用ASTQueryTranslatorFactory
INFO 7/9/14 11:04 AM:liquibase:等待更改日志锁.......
INFO 7/9/14 11:05 AM:liquibase:等待更改日志锁.......
INFO 7/9/14 11:05 AM:liquibase:等待更改日志锁.......
INFO 7/9/14 11:05 AM:liquibase:等待更改日志锁.......
INFO 7/9/14 11:05 AM:liquibase:等待更改日志锁.......
INFO 7/9/14 11:05 AM:liquibase:等待更改日志锁.......
INFO 7/9/14 11:05 AM:liquibase:等待更改日志锁.......
INFO 7/9/14 11:06 AM:liquibase:等待更改日志锁.......
....
引起:liquibase.exception.LockException:无法获取更改日志锁定。目前由2014年5月9日下午11:23由10.1.202.X(10.1.202.X)锁定
在liquibase.lockservice.LockService.waitForLock(LockService.java:81)
在liquibase.Liquibase.update(Liquibase.java:102)
at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:262)
atliquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:245)
在数据库级别,DataBaseChangeLogLock表已解锁锁定字段,如下所示
ID,Locked,LockGranted,LockedBy
' 1',' 0',NULL,NULL
即使在启动服务器之前删除所有与DATABASECHANGELOG相关的表的原因,我也面临同样的问题。
我在这个问题上找不到任何资源 Liquibase lock - reasons?
答案 0 :(得分:2)
它已经解决了。我正在寻找的DATABASECHANGELOG表是另一个模式“core.DATABASECHANGELOG”,其中获取的锁是“platform.DATABASECHANGELOG”。
一旦我更新了正确的日志表,它就解决了。