我在tomcat7上部署了应用程序。它在后端连接到MySql数据库。这里我有DATABASECHANGELOG,它的LOCK和User表配置在'core'模式中。在启动tomcat服务器时,我遇到了以下问题:
INFO 7/9/14 11:04 AM:liquibase: Successfully acquired change log lock
INFO 7/9/14 11:04 AM:liquibase: Reading frompartner
。DATABASECHANGELOG
INFO 7/9/14 11:04 AM:liquibase: Reading frompartner
。DATABASECHANGELOG
WARNING 7/9/14 11:04 AM:liquibase: modifyDataType将丢失mysql的主键/autoincrement/not null设置。如果是这种情况,请使用并重新指定所有配置
INFO 7/9/14 11:04 AM:liquibase:成功释放更改日志锁
INFO 7/9/14 11:04 AM:liquibase:成功获取更改日志锁
INFO 7/9/14 11:04 AM:liquibase: Reading fromcore
。DATABASECHANGELOG
INFO 7/9/14 11:04 AM:liquibase: Reading fromcore
。DATABASECHANGELOG
WARNING 7/9/14 11:04 AM:liquibase: modifyDataType将丢失mysql的主键/autoincrement/not null设置。如果是这种情况,请使用并重新指定所有配置
WARNING 7/9/14 11:04 AM:liquibase: modifyDataType将丢失mysql的主键/autoincrement/not null设置。如果是这种情况,请使用并重新指定所有配置
WARNING 7/9/14 11:04 AM:liquibase: modifyDataType将丢失mysql的主键/autoincrement/not null设置。如果是这种情况,请使用并重新指定所有配置
WARNING 7/9/14 11:04 AM:liquibase: modifyDataType将丢失mysql的主键/autoincrement/not null设置。如果是这种情况,请使用并重新指定所有配置
WARNING 7/9/14 11:04 AM:liquibase: modifyDataType将丢失mysql的主键/autoincrement/not null设置。如果是这种情况,请使用并重新指定所有配置
WARNING 7/9/14 11:04 AM:liquibase: modifyDataType将丢失mysql的主键/autoincrement/not null设置。如果是这种情况,请使用并重新指定所有配置
INFO 7/9/14 11:04 AM:liquibase:成功释放更改日志锁
INFO 7/9/14 11:04 AM:liquibase:成功获取更改日志锁
INFO 7/9/14 11:04 AM:liquibase: Reading frompartner
。DATABASECHANGELOG
INFO 7/9/14 11:04 AM:liquibase: Reading frompartner
。DATABASECHANGELOG
WARNING 7/9/14 11:04 AM:liquibase: modifyDataType将丢失mysql的主键/autoincrement/not null设置。如果是这种情况,请使用并重新指定所有配置
INFO 7/9/14 11:04 AM: liquidbase: Successfully release change log lock
…
14/09/07 11:04:49 INFO support。GenericXmlApplicationContext:刷新org.springframework.context.support。GenericXmlApplicationContext@771b9e:启动日期[2014年9月07日星期日11:04:49 IST];上下文层次的根
14/09/07 11:04:49 INFO支持。PropertySourcesPlaceholderConfigurer:从类路径资源[jdbc. js]中加载属性文件。
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. liquidbase];
14/09/07 11:04:49 INFO jpa。LocalContainerEntityManagerFactoryBean:为持久化单元推理构建JPA容器EntityManagerFactory。分类法'
14/09/07 11:04:49 INFO ejb。Ejb3Configuration: HHH000204: Processing PersistenceUnitInfo [名称: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。方言:HHH000400:使用方言:org.hibernate.dialect。MySQLDialect
14/09/07 11:04:50 INFO内部。TransactionFactoryInitiator: HHH000268:事务策略:org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory
14/09/07 11:04:50 INFO ast.ASTQueryTranslatorFactory: HHH000397: Using ASTQueryTranslatorFactory
INFO 7/9/14 11:04 AM:liquibase: Waiting for changelog lock....
INFO 7/9/14 11:05 AM:liquibase: Waiting for changelog lock....
INFO 7/9/14 11:05 AM:liquibase: Waiting for changelog lock....
INFO 7/9/14 11:05 AM:liquibase: Waiting for changelog lock....
INFO 7/9/14 11:05 AM:liquibase: Waiting for changelog lock....
INFO 7/9/14 11:05 AM:liquibase: Waiting for changelog lock....
INFO 7/9/14 11:05 AM:liquibase: Waiting for changelog lock....
INFO 7/9/14 11:06 AM:liquibase: Waiting for changelog lock....
....
原因:liquibase.exception.LockException: Could not acquire change log lock。当前被10.1.202锁定。
at liquibase.Liquibase.update(Liquibase.java:102)
at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:262)
atliquibase.integration.spring. springliquibase . afterpropertiesset (SpringLiquibase.java:245)
在DB级别,DataBaseChangeLogLock表已锁定字段解锁,如下所示
ID, Locked, lockgrant, lockkedby
'1', '0', NULL, NULL
甚至当我在启动服务器之前删除所有DATABASECHANGELOG相关表时,我也面临同样的问题。
我找不到任何解决这个问题的方法liquidbase锁-原因?
已解析。我正在查找的DATABASECHANGELOG表位于另一个模式"核心"中。DATABASECHANGELOG",而获取的锁在"platform.DATABASECHANGELOG"中。
一旦我更新了正确的日志表,它就解决了。