2016-11-07 2 views
0

Я пытаюсь получить все имена очередей для activeMQ в java, я нашел пару тем here и here об этом, и люди предложили использовать DestinationSource, которые я не смог импортировать в Eclipse, когда я писал код. Я пробовал:получить все имена очереди для activemq в java

import org.apache.activemq.advisory.DestinationSource; 

Я использую java 1.7 и последнюю версию activemq 5.14.1. Любые идеи, если destinationource все еще поддерживается или нет? Thanks,

ответ

0

Эта функция по-прежнему поддерживается в проекте ActiveMQ с предупреждением о том, что она может не всегда работать на основе уже предоставленных комментариев here. Если у вас есть консультационная поддержка, включенная в Брокер, то она должна предоставить вам некоторое представление о существующих местах назначения, хотя JMX предоставит вам больше управления указанными пунктами назначения.

unit tests, которые показывают функцию DestinationSource, к которой вы можете обратиться. Вам нужно поставить банку «activemq-client» в путь к классу, поэтому, возможно, ваш проект IDE настроен неправильно.

0

Самый простой способ получить эту информацию - использовать Jolokia, которая установлена ​​по умолчанию. Чтобы сделать это, используйте клиент HTTP выдавать запрос GET к одному из следующих URIs:

http://localhost:8161/api/jolokia/search/*:destinationType=Queue,* 
http://localhost:8161/api/jolokia/search/*:destinationType=Topic,* 

Вам нужно будет пройти в JMX имя пользователя и пароль (по умолчанию: админ/админ) как часть HTTP запрос. Система ответит что-то вдоль линий:

{ 
    "request" : { 
    "mbean" : "*:destinationType=Queue,*", 
    "type" : "search" 
    }, 
    "status" : 200, 
    "timestamp" : 1478615354, 
    "value" : [ 
    "org.apache.activemq:brokerName=localhost,destinationName=systemX.bar,destinationType=Queue,type=Broker", 
    "org.apache.activemq:brokerName=localhost,destinationName=systemX.foo,destinationType=Queue,type=Broker", 
    "org.apache.activemq:brokerName=localhost,destinationName=ActiveMQ.DLQ,destinationType=Queue,type=Broker" 
    ] 
} 

выше показаны очереди systemX.foo, systemX.bar, ActiveMQ.DLQ. Вот пример использования команды curl для этого:

curl -u admin http://localhost:8161/api/jolokia/search/*:destinationType=Queue,* && echo "" 

Для хорошего объяснения того, как использовать API, Jolokia см the documentation.

Смежные вопросы