You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Flowable的war包到Tomcat9启动时报PUBLIC.ACT_DE_DATABASECHANGELOGLOCK错误

Flowable启动等待changelog锁问题原因

你遇到的报错日志如下:

SELECT LOCKED FROM PUBLIC.ACT_DE_DATABASECHANGELOGLOCK WHERE ID=1
2021-08-13 20:45:05.818 INFO 8316 --- [ main] l.lockservice.StandardLockService : Waiting for changelog lock.

该报错是Flowable集成的Liquibase数据库版本管控组件的锁机制异常导致的,具体触发原因如下:

  • 前次服务异常终止遗留未释放的锁
    Liquibase执行数据库表结构变更时会先在ACT_DE_DATABASECHANGELOGLOCK表中将LOCKED字段置为true加锁,变更完成后再回写为false释放锁。如果前次启动过程中服务被强制中断、进程被杀、服务器断电,锁没有被正常释放,后续启动就会一直等待锁释放。
  • 多应用并发访问默认内置H2数据库冲突
    未修改配置的情况下Flowable默认使用内置H2数据库存储数据,同时部署flowable-ui.war和flowable-rest.war两个应用的前提下,两个服务会同时争抢同一个H2数据库的变更锁,互相阻塞无法获取锁,最终导致服务退出。
  • 数据库账号权限不足
    如果你修改了配置使用外置关系型数据库(如MySQL、PostgreSQL等),配置的数据库账号没有ACT_DE_DATABASECHANGELOGLOCK表的写入、更新权限,Liquibase无法更新锁状态,也会持续打印等待锁的日志。
  • 低版本Flowable锁超时机制缺失
    部分旧版本Flowable没有配置Liquibase锁的超时时间,锁被占用后不会主动检测锁是否过期、也不会触发抢占逻辑,会无限等待锁释放最终导致服务启动失败。

内容的提问来源于stack exchange,提问作者Gagan K.N.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 21:27:03