springboot AMQ221034: Waiting indefinitely to obtain primary lock报错解决

59 阅读1分钟

springboot启动时出现AMQ221034: Waiting indefinitely to obtain primary lock错误,一直卡死不动。 多次启动仍然无法启动,最终发现是上次启动后ActiveMQ没有正常关闭,端口被占用,导致一直卡着无法正常启动冻,打开win任务管理器发现好几个java正在运行,显然是idea关闭java线程未关闭,将其全部关闭kill掉后再启动恢复正常。

tasklist | findstr "11820"         找到进程名称
taskkill /f /t /im xxx.exe         kill进程

清理了c盘temp下的activeqm文件夹,但是仍然会出现无法正常关闭,最后在命令行中查看堆栈情况发现了问题 使用命令

1. 查看Java进程
jps
2. 查看堆内存,用于定位死锁
jstack -l [pid]

查看到ActiveMq出现了很多次TIMED_WAITING,线程waiting,最后想到最近有更改logback配置文件配置了异步ASYNC_FILE,将其改回去异常消失,这其实是由于logback和activemq的冲突导致,具体原因并未详查,最后成功解决问题

juejin.cn/post/684490…