В моем проекте используется JMS с ActiveMQ, и он отлично работает, как в производстве, так и при запуске моих тестов локального компьютера. Моя проблема возникает, когда Дженкинс бежит мои тесты (те же те, которые являются успешными в моем компьютере), я получаю следующую запись в консоли вывода:JMS ActiveMQ lock с Jenkins
2016-11-17 12: 17: 19277 INFO oaactivemq. store.SharedFileLocker База данных activemq-data/localhost/KahaDB/блокировка заблокирована ... ждет 10 секунд для разблокировки базы данных. Причина: java.io.IOException: Файл «activeemq-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 ИНФО oaastore.kahadb.plist.PListStore PListStore: [/ вар/Библиотека/Jenkins/работа/MYDIR/рабочее пространство/MyProject/ActiveMQ-данные/локальный/tmp_storage] начал
2016-11-17 12: 17: 09271 ИНФО oaactivemq.broker.BrokerService Использование Постоянство адаптер: KahaDBPersistenceAdapter [/ вар/Lib/Jenkins/работа/MYDIR/рабочее пространство/MyProject/ActiveMQ-данные/localhost/KahaDB]
2016-11-17 12: 17: 09,277 INFO oaactivemq.store.SharedFileLocker Database activeemq-data/localhost/KahaDB/lock заблокирован ... ждет 10 секунд для разблокировки базы данных. Причина: java.io.IOException: Файл «activeemq-data/localhost/KahaDB/lock» не может быть заблокирован.
К сожалению, все было не так просто :( –
Не может быть отдельный процесс .. сообщение о том, что JMX не может инициализировать «javax.naming.NameAlreadyBoundException», означает, что ваш тест, возможно, пытается перерегистрировать брокера в рамках одной JVM Сообщение о блокировке указывает, что какой-то поток (текущий процесс или другой) уже заблокировал хранилище данных. –