Как составить список доступных направлений / тем в среде SonicMQ - PullRequest
0 голосов
/ 05 февраля 2010

Я пытаюсь написать тестовую утилиту для перечисления различных элементов в средах SonicMQ, к которым я подключаюсь.Мне удалось перечислить ряд элементов, включая брокеров, контейнеры и очереди, но темы по-прежнему ускользают от меня.Я просмотрел документацию по API и немного поиграл в коде безрезультатно.

Есть ли способ перечислить темы в SonicMQ?Возможно, есть более общий способ перечисления всех мест назначения (очереди и темы)?Есть ли что-то в JMS, что я пропустил, чтобы получить эту информацию?

1 Ответ

1 голос
/ 31 декабря 2010

В темах SonicMQ нет администрируемых объектов -> вы можете создать прослушиватель или отправителя для любого имени темы. Для этого вы должны использовать Runtime API для среды управления. Это невозможно сделать через API-интерфейс конфигурации, равно как и в нативном JMS.

При использовании API времени выполнения вы должны получить объект IBrokerProxy . Я предполагаю, что у вас уже есть объект IBrokerProxy. На этом объекте есть набор методов для получения глобальных и долгосрочных подписок. Насколько я знаю, нет возможности получить другие типы подписки.

Чтобы просмотреть долговременные подписки, сначала нужно получить пользователей с долговременными подписками. Это делается с помощью метода getUsersWithDurableSubscription (String prefix) , который предоставит вам ArrayList для всех пользователей, имеющих Durable Subscription. Для каждого пользователя вам нужно вызвать метод getDurableSubscription (String user) , который затем вернет вам список надежных подписок этого пользователя.

Для получения всех удаленных / глобальных подписок вы можете использовать метод getRemoteSubscriptionSummary ().

...