Could not acquire change log lock. Currently locked by XXXXXX

          最近公司項目使用到了flowable,爲了方便業務開發人員使用流程設計器畫流程圖,使用了flowable的原生流程設計器modeler。用docker部署非常方便,參考flowable流程設計器部署官網文檔

用docker部署flowable的流程設計器時,flowable-task.war啓動報錯信息如下:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flowableAppEngine': FactoryBean threw exception on object creation; nested exception is org.flowable.common.engine.api.FlowableException: Error initialising cmmn data model
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:101)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1654)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1174)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:327)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1135)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1062)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:819)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:725)
	... 77 more
Caused by: org.flowable.common.engine.api.FlowableException: Error initialising cmmn data model
	at org.flowable.cmmn.engine.impl.db.CmmnDbSchemaManager.initSchema(CmmnDbSchemaManager.java:68)
	at org.flowable.cmmn.engine.impl.db.CmmnDbSchemaManager.initSchema(CmmnDbSchemaManager.java:47)
	at org.flowable.cmmn.engine.impl.db.CmmnDbSchemaManager.initSchema(CmmnDbSchemaManager.java:43)
	at org.flowable.cmmn.engine.impl.cmd.SchemaOperationsCmmnEngineBuild.execute(SchemaOperationsCmmnEngineBuild.java:27)
	at org.flowable.cmmn.engine.impl.cmd.SchemaOperationsCmmnEngineBuild.execute(SchemaOperationsCmmnEngineBuild.java:23)
	at org.flowable.cmmn.engine.impl.interceptor.CmmnCommandInvoker$1.run(CmmnCommandInvoker.java:46)
	at org.flowable.cmmn.engine.impl.interceptor.CmmnCommandInvoker.executeOperations(CmmnCommandInvoker.java:70)
	at org.flowable.cmmn.engine.impl.interceptor.CmmnCommandInvoker.execute(CmmnCommandInvoker.java:49)
	at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53)
	at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:71)
	at org.flowable.cmmn.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:49)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at org.flowable.cmmn.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:46)
	at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
	at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
	at org.flowable.cmmn.engine.impl.CmmnEngineImpl.<init>(CmmnEngineImpl.java:60)
	at org.flowable.cmmn.engine.CmmnEngineConfiguration.buildCmmnEngine(CmmnEngineConfiguration.java:728)
	at org.flowable.cmmn.spring.SpringCmmnEngineConfiguration.buildCmmnEngine(SpringCmmnEngineConfiguration.java:66)
	at org.flowable.cmmn.spring.configurator.SpringCmmnEngineConfigurator.initCmmnEngine(SpringCmmnEngineConfigurator.java:74)
	at org.flowable.cmmn.spring.configurator.SpringCmmnEngineConfigurator.configure(SpringCmmnEngineConfigurator.java:63)
	at org.flowable.common.engine.impl.AbstractEngineConfiguration.configuratorsAfterInit(AbstractEngineConfiguration.java:887)
	at org.flowable.app.engine.AppEngineConfiguration.init(AppEngineConfiguration.java:222)
	at org.flowable.app.engine.AppEngineConfiguration.buildAppEngine(AppEngineConfiguration.java:180)
	at org.flowable.app.spring.SpringAppEngineConfiguration.buildAppEngine(SpringAppEngineConfiguration.java:61)
	at org.flowable.app.spring.AppEngineFactoryBean.getObject(AppEngineFactoryBean.java:59)
	at org.flowable.app.spring.AppEngineFactoryBean.getObject(AppEngineFactoryBean.java:31)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:171)
	... 87 more
Caused by: org.flowable.common.engine.api.FlowableException: Error updating CMMN engine tables
	at org.flowable.cmmn.engine.impl.db.CmmnDbSchemaManager.schemaUpdate(CmmnDbSchemaManager.java:208)
	at org.flowable.cmmn.engine.impl.db.CmmnDbSchemaManager.initSchema(CmmnDbSchemaManager.java:61)
	... 113 more
Caused by: liquibase.exception.LockException: Could not acquire change log lock.  Currently locked by 2a88c565e1d8 (172.17.0.2) since 5/2/20 3:37 AM
	at liquibase.lockservice.StandardLockService.waitForLock(StandardLockService.java:230)
	at liquibase.Liquibase.update(Liquibase.java:184)
	at liquibase.Liquibase.update(Liquibase.java:179)
	at liquibase.Liquibase.update(Liquibase.java:175)
	at liquibase.Liquibase.update(Liquibase.java:168)
	at org.flowable.cmmn.engine.impl.db.CmmnDbSchemaManager.schemaUpdate(CmmnDbSchemaManager.java:205)
	... 114 more

06-May-2020 01:50:27.817 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [/opt/tomcat/webapps/flowable-task.war]
 java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/flowable-task]]
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:758)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:985)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

我使用的是6.4.1的版本,啓動報錯信息主要有兩點:

1. Error updating CMMN engine tables

2.Could not acquire change log lock.  Currently locked by XXXXX

 

查看到帶“COMMN”的CHANGELOGLOCK的表只有一個,打開如下

 

順便看下其它帶CHANGELOGLOCK的表,都是0。那麼只要把LOCKED值改爲0就OK了。

 

說明一下ACT_DMN表的作用。

Flowable DMN的所有數據庫表都以ACT_DMN_開頭。

  • ACT_DMN_DATABASECHANGELOG: 由Liquibase使用,用於追蹤表結構修改。

  • ACT_DMN_DATABASECHANGELOGLOCK: 由Liquibase使用,用於確保同時只有一個運行的Liquibase實例。

  • ACT_DMN_DECISION_TABLE: 保存已部署的選擇表的元數據。

  • ACT_DMN_DEPLOYMENT: 保存部署的元數據。

  • ACT_DMN_DEPLOYMENT_RESOURCE: 保存DMN定義的資源和元數據。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章