Freigeben über


BizTalk-Message Queuing-Erweiterung für große Nachrichten

Das systemeigene Message Queuing kann keine Nachricht verarbeiten, deren Textteil größer als 4MB ist. Microsoft BizTalk Server enthält jedoch ein Add-On für native Nachrichtenwarteschlangen, das die Verarbeitung von Nachrichten mit einer Größe von mehr als 4 MB ermöglicht. Dieses Add-On wird als Mqrtlarge.dll-Datei bereitgestellt und macht die Anwendungsprogrammierschnittstellen MQSendLargeMessage und MQReceiveLargeMessage sowie das analoge COM-Modell verfügbar. Diese Funktionen werden als Standardmäßige Nachrichtenwarteschlangen-APIs, MQSendMessage bzw . MQReceiveMessage implementiert.

Zum Teilnehmen am Austausch großer Nachrichten muss auf dem Message Queuing-Computer die Datei Mqrtlarge.dll installiert sein, und die Message Queuing-Anwendung sollte die APIs des Add-Ons verwenden. Andernfalls werden vollständige Nachrichten fragmentiert.

Speicherort im SDK

< Installationspfad>\SDK\ Mqrtlarge.dll

Dateibestand

Die folgende Tabelle enthält die von diesem Dienstprogramm verwendete Datei und eine Beschreibung ihres Zwecks.

Datei(en) BESCHREIBUNG
Mqrtlarge.dll Eine Win32-Bibliothek mit dynamischem Link, die MQSendLargeMessage und MQReceiveLargeMessage verfügbar macht.

Die Headerdateien befinden sich im <Verzeichnis Installationspfad>\SDK\Include. Hinweis: Sie müssen BizTalk Server auf einer 64-Bit-Version von Windows installieren, um auf die 64-Bit-Version von Mqrtlarge.dll zugreifen zu können.

Verwenden dieses Dienstprogramms

Gehen Sie zum Ausführen der Datei Mqrtlarge.dll wie folgt vor.

So verwenden Sie die Datei 'Mqrtlarge.dll'

  1. Hinweis

    Bei einer MSMQ-Lösung ohne BizTalk Server funktioniert die MQRTLarge.dll möglicherweise weiterhin ordnungsgemäß. Dies ist jedoch keine empfohlene Konfiguration, die Microsoft unterstützt, und es können unerwartete Ergebnisse auftreten, wenn sie außerhalb der BizTalk Server-Umgebung verwendet werden.

    Fügen Sie die Datei Mqrtlarge.dll dem Computer hinzu, auf dem BizTalk Server nicht installiert ist. Die Datei Mqrtlarge.dll wird von Message Queuing zum Austausch von Nachrichten mit BizTalk Server verwendet.

  2. Um auf die APIs in der Datei Mqrtlarge.dll zuzugreifen, fügen Sie dem BizTalk-Message Queuing-Endpunkt einen Verweis auf die Datei Mqrtlarge.dll in den Anwendungen hinzu, die Nachrichten mit anderen Computern austauschen.

    Anmerkungen

    Große Nachrichten werden an Standardwarteschlangen von Message Queuing (auch als MSMQ bezeichnet) gesendet. In solchen Warteschlangen sollten nur die APIs für große Nachrichten verwendet werden, auch wenn dies nicht erzwungen wird.

    Sie können MQSendMessage weiterhin verwenden, um Nachrichten an eine Warteschlange zu senden, an die Sie große Nachrichten gesendet haben. Ebenso können Sie MQReceiveMessage verwenden, um Nachrichten von solchen Warteschlangen zu empfangen, obwohl dies nicht empfohlen wird, da dies die Leistung der MQReceiveLargeMessage-API beeinträchtigen kann.

    Für Wiederherstellungszwecke wird empfohlen, DEAD_LETTER Journaling zu verwenden.

    Fragmentierung

    Im Allgemeinen wird eine große Nachricht in mehrere Nachrichten fragmentiert, von denen jede kleiner als 4 MB ist. Es ist wichtig zu wissen, dass nur der Textteil fragmentiert wird. Der Rest der Eigenschaften wird mit jedem Fragment gesendet.

    Die Anzahl der Fragmente wird durch die Größe der Nachricht und die Größe der Fragmente bestimmt. Die Fragmentgröße kann automatisch durch die Datei Mqrtlarge.dll oder den entsprechenden Teil von BizTalk-Message Queuing festgelegt werden. Die Fragmentgröße kann auch explizit von Anwendungen festgelegt werden.

    Beachten Sie, dass bei der Erweiterung für große Nachrichten die Nachricht mit zusätzlichen internen Daten einer konstanten Größe erweitert werden muss.

    PROPID_M_EXTENSION

    Sie können die PROPID_M_EXTENSION/PROPID_M_EXTENSION_LEN Eigenschaften verwenden, um die Nachricht zu signieren. Die Signatur umfasst 40 Byte. In der folgenden Tabelle sind Signaturfragmente aufgeführt.

BESCHREIBUNG Size
Globally Unique Identifier (GUID), der angibt, dass diese Nachricht mithilfe von MQSendLargeMessage gesendet wurde 16 B
GUID für die Nachricht: eindeutige pro große Nachrichten-ID, die für alle Teile der Nachricht gemeinsam ist 16 B
Gesamtgröße der großen Nachricht 4 B
Part number 2 B
Anzahl der Nachrichtenteile 2 B

Die Entscheidung, PROPID_M_EXTENSION zu verwenden, hat eine zusätzliche Auswirkung. Diese Eigenschaft wird von der MSMQ-MQSeries-Brücke von Microsoft Host Integration Server verwendet, um eine Struktur mit Eigenschaften zu übergeben, die nicht direkt zwischen MQSeries- und Message Queuing-Nachrichten zugeordnet sind. Anwendungen, die Nachrichten an und von MQSeries senden, verwenden diese Struktur explizit oder implizit. Message Queuing kann Bestätigungen generieren, wenn eine Nachricht von einer Warteschlange durch eine empfangende Anwendung empfangen wurde. Die Bestätigungen werden an eine Warteschlange gesendet, die von der sendenden Anwendung festgelegt wird. Im Fall großer Nachrichten wird diese Bestätigung nur für den letzten Teil der großen Nachricht gesendet.

Weitere Informationen

Dienstprogramme des SDK