Можно ли получить более 400 сообщений из очереди ActiveMQ через API Jolokia? - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть очередь ошибок в ActiveMQ, которая заполняется обработчиком ошибок Apache Camel onException. В этой очереди может быть тысячи сообщений.

Вместо использования веб-консоли 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 Route. На данный момент в этой очереди более 10 тысяч сообщений. Я сделал POST-запрос к моей конечной точке API брокера с полезной нагрузкой, как показано выше. Хотя у меня было более 10 тыс. Сообщений, в результате этого запроса было получено всего 400 сообщений (из-за ограничения максимального размера страницы, жестко запрограммированного в исходном коде ). Это означает, что я не смогу получать более 400 сообщений одновременно через Jolokia. Я также попробовал метод browseMessages (). Похоже, он делает то же самое, в общем.

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

Я попытался выяснить, сделал ли Хавтио что-то особенное в получении всех сообщений. Но результат тот же (максимум 400 сообщений).

ActiveMQ веб-консоль получает все сообщения. Вероятно, это может быть связано с тем, что он тесно связан с проектом ActiveMQ.

Я не ограничен только JMX / Jolokia. Если эту статистику можно получить с помощью какого-либо API, это в равной степени хорошо.

Любые входные данные будут великолепны!

...