今天使用spring 整合 activeMQ. 发现出现问题一直报 activeMQ faild to acquire lock, 网上查了一下,原因是:activeMQ的broker在启动时会锁定数据库(activeMQ持久化到了mysql数据库)。我们每个人在调试时,自己的运行环境中就会运行一个broker,所以会出现争用锁的现象(如果只有一个人运行则不会出现这样的问题),报错大体界面如下:

处理办法:在config的activemq.xml中,修改jdbcPersistenceAdapter选项,添加一个:useDatabaseLock="false",
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#mysql-ds" useDatabaseLock="false" />
</persistenceAdapter>
本文探讨了在Spring整合ActiveMQ时遇到的activeMQFailDtoAcquireLock错误,该问题源于多个broker实例在启动时对数据库锁的竞争。通过在activemq.xml配置文件中禁用数据库锁定(useDatabaseLock=false),可以有效避免锁冲突,确保消息队列的正常运行。
3884

被折叠的 条评论
为什么被折叠?



