#activemq #jmx #jolokia
#activemq #jmx #jolokia
Вопрос:
У меня есть очередь ошибок в ActiveMQ, которая заполняется обработчиком ошибок onException от Apache Camel. В этой очереди могут быть тысячи сообщений.
Вместо использования веб-консоли ActiveMQ я создаю пользовательский веб-администратор для интеграции нескольких других статистических данных из других компонентов. Таким образом, я хотел также включить статистику из ActiveMQ.
Версия ActiveMQ: 5.14.3
Я посмотрел на Jolokia JMX API и его операции. Например, у меня есть следующая полезная нагрузка для конечной точки Jolokia API брокера:
{
"type": "exec",
"mbean": "org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=test.errors",
"operation": "browse(java.lang.String)",
"arguments": ["EXCEPTION_TYPE LIKE '%jdbc%'"]
}
Поле заголовка EXCEPTION_TYPE
уже заполнено через маршрут Apache Camel. На данный момент у меня в этой очереди более 10 тыс. сообщений. Я отправил POST-запрос на конечную точку моего API-брокера с полезной нагрузкой, как показано выше. Хотя у меня было более 10 тысяч сообщений, этот запрос привел всего к 400 сообщениям (из-за ограничения максимального размера страницы, жестко заданного в исходном коде). Это означает, что я не смогу получать более 400 сообщений одновременно через Jolokia. Я также попробовал метод browseMessages(). Похоже, в целом он делает то же самое.
- Можно ли просматривать эти сообщения (скажем, если их много, может быть около 10 тыс. )?
- Или возможно ли разбить их на страницы? Я не мог видеть соответствующий метод работы для этого.
Я попытался выяснить, сделал ли Hawtio что-то особенное при получении всех сообщений. Но результат тот же (максимум 400 сообщений).
Веб-консоль ActiveMQ извлекает все сообщения. Вероятно, это может быть связано с тем, что он тесно связан с проектом ActiveMQ.
Я не ограничен только JMX / Jolokia. Если эти статистические данные могут быть получены через какой-либо API, это одинаково хорошо.
Любые входные данные были бы великолепны!
Комментарии:
1. Почему вы не можете просто просматривать сообщения с помощью JMS API вместо Jolokia? Просмотр, доступный через Jolokia, — это просто удобство для действительно простых задач.
2. Я думаю, вы правы. Я столкнулся с некоторыми ограничениями в Jolokia. Спасибо, что указали на это. Вместо этого я попробую это через JMS API.
3. Удалось ли вам решить эту проблему?
4. Привет @Rahul, похоже, что эта проблема возникла из-за размера моего окна конфигурации activemq. Я думаю, что я использовал что-то подобное
<policyEntry queue=">" optimizedDispatch="true" />
в своей конфигурации activemq. activemq.2283324.n4.nabble.com /…