Как создать браузер очереди (предварительная версия не потреблять) в C# для очереди, в частности, ActiveMQ?


Я использую API NMS для чтения / записи ActiveMQ в C#, и я не могу найти способ предварительного просмотра сообщений в очереди. Я мог бы читать и откатывать-но это сделает их DLQ в конечном счете.

В моей предыдущей жизни у TIBCO был объект QueueBrowser, который можно было использовать, и я думаю, что у JMS также был IQueueBrowser. Я не могу найти эквивалент ActiveMQ .NET.
2 4

2 ответа:

К сожалению, NMS не поддерживает (по крайней мере пока) API QueueBrowser, доступный в JMS из Java. Взгляните на выпуск AMQNET-97 в разделе ActiveMQ.NET база данных отслеживания проблем - команда ищет участников для реализации этой функции.

Кстати, вы не единственный, кто просит об этом - вот Еще один поток на ту же тему.

Сначала я надеялся, что Spring.NET поддержка JMS (для TIBCO) также будет включать ActiveMQ поддержка QueueBrowser. К сожалению, это не так - согласно Spring.NET документация , поддерживается только TIBCO через Spring.NET ' S JMS API:

Обратите внимание, что поддержка JMS в настоящее время предоставляется только для JMS TIBCO реализация под названием TIBCO Enterprise Служба сообщений (EMS). Здесь нет фундаментальная причина, почему другие поставщики не поддерживаются. Это было просто ... практическая причина в это время, так как не существует де-факто с JMS API в .Чистая что каждый поставщик обязан: осуществлять. Таким образом, каждый поставщик заканчивается вплоть до создания собственного .NET вдохновенного копия JAVA JMS API. Открытие исходный проект Служба сообщений .Net Целью API (NMS) является обеспечение такого общий API, и это, скорее всего, будет используется для будущей работы JMS в Spring.NET.

Итак, в заключение, если вы не хотите кодировать на Java (или вызывать библиотеки java, используя один из механизмов взаимодействия .NET-to-Java), я не думаю, что это будет легко для вас. вы должны получить в QueueBrowser в краткосрочной перспективе, хотя в долгосрочной перспективе эта функция, вероятно, сделает его в NMS в какой-то момент.

На самом деле ActiveMQ поддерживает JMX, поэтому вы можете построить его с помощью библиотеки .NET JMX (google netMX для этого)