Nachrichten-Warteschlangen erstellen und sinnvoll einsetzen

Der erste Schritt bei der Arbeit mit MSMQ besteht darin, eine Warteschlange zu erzeugen. Das wird durch die Auswahl von „Message Queuing“ in der Computerverwaltungskonsole unter Windows erledigt. Eine weitere Variante zur Erzeugung einer Warteschlange ist, sie selbst zu programmieren. Der folgende C#-Code erzeugt eine neue private MSMQ-Nachrichten-Warteschlange (wenn sie nicht bereits vorhanden ist) und eine Nachricht darin.

Listing A

Der Code verwendet die Exists-Methode der MessageQueue-Klasse, um zu bestimmen, ob die private Warteschlange mit dem Namen ZDNet vorhanden ist. Wenn sie vorhanden ist, instanziiert diese Methode das MessageQueue-Objekt mit der vorhandenen Warteschlange. Andernfalls wird eine neue Warteschlange angelegt.

Ein neues Message-Objekt wird verwendet, um eine Nachricht an die Warteschlange zu schicken. Seine Priorität ist auf normal gesetzt. Seine Label-Eigenschaft gibt den Nachrichten-Titel an, der in der MSMQ-Konsole zusammen mit dem Textfeld angezeigt wird. Das Textfeld wiederum enthält den Inhalt der Nachricht, die in die Warteschlange gestellt wird. In diesem Fall wird nur Text verschickt, aber es können Objekte aller Art verwendet werden. Die Send-Methode der MessageQueue-Klasse schickt Nachrichten an die Warteschlange. Hier ist der entsprechende VB.NET-Code.

Listing B

Der nächste Schritt besteht darin, die Nachricht in der Warteschlange zu lesen. Mit der Receive-Methode der MessageQueue-Klasse ist das ein einfacher Prozess. Die Receive-Methode schickt ein Message-Objekt zurück, wenn sich Nachrichten in der Warteschlange befinden. Andernfalls wartet sie darauf, dass eine Nachricht auftaucht (eine Zeitüberschreitungsperiode kann festlegt werden). Soll eine Nachricht aus der Warteschlange abgerufen werden, so muss ihr Typ bekannt sein.

Mit der Formatter-Eigenschaft der MessageQueue-Klasse wird der Typ des Objekts, das abgerufen werden soll, angeben. In diesem einfachen Beispiel handelt es sich um Text. Daher wird System.String benutzt. Der C#-Code unten liest Nachrichten aus der Test-Warteschlange.

Listing C

Das TimeSpan-Objekt, das der Receive-Methode übergeben wird, gibt an, wie lange das System wartet, bis eine Ausnahme ausgelöst wird. Der nächste Schritt besteht darin, die Formatter-Methode anzuwenden – in diesem Beispiel wird das Objekt in einen String umgewandelt, um den zuvor gespeicherten Text zu lesen. Die Receive-Methode liest die Nachricht aus der Warteschlange, und ihre Werte werden in der Konsole angezeigt. Die Warteschlange wird im Finally-Teil des Try-Blocks geschlossen.

Messaging leicht nutzen

Indem das von Microsoft in Windows integrierte MSMQ mit dem .NET-System.Messaging-Namensbereich kombiniert wird, ist es ganz einfach, Messaging in einer eigenen .NET-Anwendung zu verwenden. Eine Nachrichten-Warteschlange stellt eine wirkungsvolle Möglichkeit dar, um in Unternehmens-Anwendungen asynchron Nachrichten (Daten) zu versenden und zu empfangen.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

6 Tagen ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

6 Tagen ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

6 Tagen ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

6 Tagen ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

7 Tagen ago

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

7 Tagen ago