Comment créer un navigateur de file d'attente (prévisualisation non consommée) en C # pour une file d'attente ActiveMQ?
Question
J'utilise l'API NMS pour lire / écrire ActiveMQ en C # et je ne trouve pas un moyen de prévisualiser les messages d'une file d'attente. Je pourrais lire et revenir en arrière, mais cela les rendra éventuellement DLQ.
Dans ma vie antérieure, TIBCO avait un objet QueueBrowser qui pouvait être utilisé, et je pense que JMS avait également IQueueBrowser. Je ne trouve pas d'équivalent ActiveMQ .NET.
La solution
Malheureusement, NMS ne prend pas en charge (du moins pas encore) le QueueBrowser API disponible dans JMS à partir de Java. Consultez le numéro AMQNET-97 dans la base de données de suivi des problèmes ActiveMQ.NET. - l'équipe recherche des contributeurs pour implémenter cette fonctionnalité.
BTW, vous n'êtes pas le seul à demander cela - voici un autre fil sur le même sujet.
Au début, j’espérais que le support JMS de Spring.NET (pour TIBCO) inclurait également le support ActiveMQ, QueueBrowser. Malheureusement, ce n'est pas le cas - selon le Documentation Spring.NET , seul TIBCO est pris en charge via l'API JMS de Spring.NET:
Notez que le support JMS est actuellement fourni uniquement pour JMS de TIBCO implémentation nommée TIBCO Enterprise Service de messagerie (EMS). Il n'y a pas raison fondamentale pour laquelle d'autres fournisseurs ne sont pas pris en charge. Ça vient d'être un raison pratique en ce moment depuis Il n’existe pas d’API JMS de facto dans .NET que chaque fournisseur est tenu de mettre en place. En tant que tel, chaque fournisseur se termine créer leur propre inspiration .NET copie de l'API Java JMS. L'ouverture projet source .Net Message Service L’API (NMS) a pour objectif de fournir un tel API commune et il sera très probablement utilisé pour le travail futur de JMS dans Spring.NET.
Donc, en conclusion, à moins que vous ne souhaitiez coder en Java (ou appeler des bibliothèques java en utilisant l’un des . Mécanismes d'interopérabilité .NET-à-Java ), je ne pense pas qu'il vous sera facile d'accéder à QueueBrowser à court terme. terme, même si, à long terme, cette fonctionnalité sera probablement intégrée au NMS.
Autres conseils
En fait, ActiveMQ prend en charge JMX afin que vous puissiez en créer un en utilisant une bibliothèque .NET JMX (google netMX pour cela)