2010-02-05 4 views
0

J'essaie d'écrire un utilitaire de test pour répertorier les différents éléments dans les environnements SonicMQ auxquels je me connecte. J'ai été en mesure d'énumérer un certain nombre d'éléments, y compris les courtiers, les conteneurs et les files d'attente, mais les sujets continuent de m'échapper. J'ai cherché dans le document de l'API et joué un peu dans le code en vain.Comment lister les destinations/sujets disponibles dans un environnement SonicMQ

Existe-t-il un moyen d'énumérer des sujets dans SonicMQ? Existe-t-il un moyen plus générique d'énumérer toutes les destinations (files d'attente et sujets)? Y at-il quelque chose dans JMS que j'ai manqué pour obtenir cette information?

Répondre

1

Dans les rubriques SonicMQ, aucun objet n'est administré -> vous pouvez créer un écouteur ou un expéditeur pour n'importe quel nom de sujet souhaité. Pour cela, vous devez utiliser l'API Runtime pour l'environnement de gestion. Il n'y a aucun moyen de le faire via l'API de configuration, ni dans le JMS natif. Lorsque vous utilisez l'API Runtime, vous devez obtenir un objet IBrokerProxy. Je suppose que vous avez déjà un objet IBrokerProxy. Sur cet objet, il existe un ensemble de méthodes pour obtenir des abonnements globaux et durables. Pour autant que je sache, il n'y a aucun moyen d'obtenir d'autres types d'abonnement.

Pour voir les abonnements durables, vous devez d'abord obtenir les utilisateurs avec des abonnements durables. Ceci est fait avec la méthode getUsersWithDurableSubscriptions (String prefix), qui vous donnera une ArrayList avec tous les utilisateurs ayant un abonnement Durable. Pour chaque utilisateur, vous devez appeler la méthode getDurableSubscriptions (String user), qui vous renverra ensuite une liste des abonnements durables de cet utilisateur.

Pour obtenir tous les abonnements distants/globaux, vous pouvez utiliser la méthode getRemoteSubscriptionSummary().

Questions connexes