Возможно ли получить более 400 сообщений из очереди ActiveMQ через Jolokia API?

#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(). Похоже, в целом он делает то же самое.

  1. Можно ли просматривать эти сообщения (скажем, если их много, может быть около 10 тыс. )?
  2. Или возможно ли разбить их на страницы? Я не мог видеть соответствующий метод работы для этого.

Я попытался выяснить, сделал ли 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 /…