Wie erstelle ich eine Warteschlange Browser (Vorschau verbrauchen nicht) in C # für eine ActiveMQ Queue?
Frage
Ich bin mit dem NMS-API zum Lesen / Schreiben ActiveMQ in C #, und ich kann nicht einen Weg finden, um die Nachrichten in einer Warteschlange in der Vorschau anzeigen. Ich konnte lesen und Rollback -. Aber das wird sie macht DLQ schließlich
In meinem früheren Leben hatte TIBCO ein QueueBrowser Objekt, das genutzt werden könnte, und ich denke, JMS IQueueBrowser hatte auch. Ich kann keine ActiveMQ .NET Äquivalent finden.
Lösung
Leider NMS hat keine Unterstützung (zumindest noch nicht) für das QueueBrowser API in JMS von Java. Schauen Sie sich auf Ausgabe AMQNET-97 in der ActiveMQ.NET issue tracker Datenbank - das Team sucht Mitwirkende diese Funktion zu implementieren.
BTW, du bist nicht der einzige für this-- hier gefragt ist ein anderer Thread zum gleichen Thema.
Auf den ersten ich hatte gehofft, dass Spring.NET JMS-Unterstützung (für TIBCO) würde auch gehören ActiveMQ QueueBrowser unterstützen. Leider ist dies nicht der Fall-- nach dem Spring.NET Dokumentation nur TIBCO über Spring.NET JMS API unterstützt:
Beachten Sie, dass JMS-Unterstützung ist derzeit nur für TIBCO JMS bereitgestellt Implementierung namens TIBCO Unternehmen Message Service (EMS). Es gibt kein wesentlicher Grund, warum andere Anbieter werden nicht unterstützt. Es war nur ein zu diesem Zeitpunkt praktische Vernunft seit es ist keine De-facto-JMS-API in .NET dass jeder Anbieter erforderlich ist, um implementieren. Als solche Enden jeder Anbieter up zu schaffen, ihre eigenen .NET inspiriert Kopie des Java JMS-API. Die Öffnung Source-Projekt Net Message Service API (NMS) Ziel ist, eine solche zu schaffen, gemeinsame API und es sehr wahrscheinlich sein wird für zukünftige JMS Arbeit verwendet in Spring.NET.
So, zum Schluss, es sei denn, Sie bereit sind, in Java-Code (oder in Java-Bibliotheken rufen Sie eine der mit . NET-to-Java-Interop-Mechanismen ), ich glaube nicht, dass es leicht sein wird für dich bei QueueBrowser in den kurzen erreichen zu Begriff, obwohl langfristig wird diese Funktion wahrscheinlich irgendwann es in NMS machen.
Andere Tipps
Eigentlich ActiveMQ unterstützt JMX so können Sie in der Lage sein, einen bauen eine .NET-JMX-Bibliothek (google netMX für diese)