我的项目在ActiveMQ中使用JMS,它在生产和运行我的测试本地计算机时都可以正常工作。我的问题发生在Jenkins运行我的测试(与我的计算机上的成功相同)时,我在控制台输出中获得以下条目:Jenkins的JMS ActiveMQ锁
2016-11-17 12:17:19,277 INFO oaactivemq。 store.SharedFileLocker 数据库activemq-data/localhost/KahaDB /锁定被锁定...正在等待10秒数据库被解锁。原因:java.io.IOException: 文件'activemq-data/localhost/KahaDB/lock'无法锁定。
有没有人有过相同的经历并遇到了解决方案?将非常感谢您的帮助!
控制台输出的更多细节:
2016年11月17日12:17:09193 WARN oaabroker.jmx.ManagementContext 无法启动JMX连接:不能结合到URL [RMI://localhost:1099/jmxrmi]:javax.naming.NameAlreadyBoundException: jmxrmi [根异常是java.rmi.AlreadyBoundException:jmxrmi]。 将重新启动管理重新创建jmx连接器,试图修复 此问题。
2016年11月17日12:17:09257 INFO oaastore.kahadb.plist.PListStore PListStore:[在/ var/lib中/詹金斯/作业/ MYDIR /工作区/ myproject的/ ActiveMQ的数据/本地主机/ tmp_storage] 开始
2016年11月17日12:17:09271 INFO oaactivemq.broker.BrokerService使用 持久性适配器: KahaDBPersistenceAdapter [在/ var/lib中/詹金斯/作业/ MYDIR /工作区/ myproject的/ ActiveMQ的数据/ localhost/KahaDB]
2016-11-17 12:17:09,277信息oaactivemq.store.SharedFileLocker 数据库activemq-data/localhost/KahaDB/lock被锁定...正在等待10秒 秒的数据库被解锁。原因:java.io.IOException: 文件'activemq-data/localhost/KahaDB/lock'无法锁定。
不幸的是,它并不是那么简单: –
可能不是一个单独的进程.. JMX无法初始化的消息“javax.naming.NameAlreadyBoundException”表示您的测试可能试图在同一个JVM中重新注册代理。锁定消息指示某个线程(当前进程或其他)已经锁定了数据存储。 –