Partager via


extension de messages volumineux Message Queuing BizTalk

En mode natif, Message Queuing ne peut pas traiter un message dont le corps fait plus de 4 méga-octets (Mo). Toutefois, Microsoft BizTalk Server inclut un module complémentaire pour la mise en file d’attente des messages natifs qui permet de traiter les messages supérieurs à 4 Mo. Ce module complémentaire est fourni en tant que fichier Mqrtlarge.dll et expose les interfaces de programmation d’application (API) MQSendLargeMessage et MQReceiveLargeMessage , ainsi que le modèle COM analogue. Ces fonctions sont implémentées en tant qu’API de mise en file d’attente de messages standard, respectivement MQSendMessage et MQReceiveMessage .

Pour que l'ordinateur Message Queuing puisse participer aux échanges de messages volumineux, il faut que le fichier Mqrtlarge.dll y soit installé et que l'application Message Queuing utilise les interfaces API du composant additionnel. À défaut, ces messages sont fragmentés.

Emplacement dans le kit de développement logiciel (SDK)

<Chemin >d’installation\SDK\ Mqrtlarge.dll

Inventaire des fichiers

Le tableau suivant présente le fichier utilisé par cet utilitaire et décrit sa finalité.

Fichier(s) Description
Mqrtlarge.dll Bibliothèque de liens dynamiques Win32 qui expose MQSendLargeMessage et MQReceiveLargeMessage.

Les fichiers d’en-tête se trouvent dans le <répertoire Chemin> d’installation\SDK\Include. Note: Vous devez installer BizTalk Server sur une version 64 bits de Windows pour accéder à la version 64 bits de Mqrtlarge.dll.

Utilisation de cet utilitaire

Suivez la procédure suivante pour exécuter le fichier Mqrtlarge.dll.

Pour utiliser le fichier Mqrtlarge.dll

  1. Notes

    Pour une solution MSMQ sans BizTalk Server, le MQRTLarge.dll peut toujours fonctionner correctement. Toutefois, il ne s’agit pas d’une configuration recommandée que Microsoft prend en charge et des résultats inattendus peuvent se produire si elle est utilisée en dehors de l’environnement BizTalk Server.

    Ajoutez le fichier Mqrtlarge.dll à l'ordinateur qui ne contient pas d'installation de BizTalk Server. Message Queuing se sert du fichier Mqrtlarge.dll pour envoyer des messages à BizTalk Server ou en recevoir.

  2. Pour accéder aux API du fichier Mqrtlarge.dll, ajoutez une référence au fichier Mqrtlarge.dll dans les applications qui envoient ou reçoivent les messages vers ou depuis d'autres ordinateurs au niveau du point de terminaison Message Queuing BizTalk.

    Remarques

    Les messages volumineux sont envoyés vers les files d'attente Message Queuing (ou MSMQ) standard. Il est conseillé de n'utiliser que les API de messages volumineux sur ces files d'attente, bien que cela ne soit pas obligatoire.

    Vous pouvez toujours utiliser MQSendMessage pour envoyer des messages à une file d’attente à laquelle vous avez envoyé des messages volumineux. De même, vous pouvez utiliser MQReceiveMessage pour recevoir des messages à partir de telles files d’attente, même si cela n’est pas recommandé, car cela peut avoir un impact sur les performances de l’API MQReceiveLargeMessage .

    À des fins de récupération, il est recommandé d’utiliser DEAD_LETTER journalisation.

    Fragmentation

    En règle générale, un message volumineux est fragmenté en plusieurs messages, chacun de taille inférieure à 4 Mo. Il est important de comprendre que seul le corps fait l'objet d'une fragmentation. Le reste des propriétés est envoyé avec chaque fragment.

    Le nombre de fragments est fonction de la taille du message et de celle des fragments. La taille des fragments peut être automatiquement définie par le fichier Mqrtlarge.dll ou par la partie appropriée de Message Queuing BizTalk. Les applications peuvent également indiquer cette taille de manière explicite.

    Notez que l'extension de messages volumineux implique d'étendre le message en lui ajoutant des données internes supplémentaires de taille constante.

    PROPID_M_EXTENSION

    Vous pouvez utiliser les propriétés PROPID_M_EXTENSION/PROPID_M_EXTENSION_LEN pour signer le message. La signature se compose de 40 octets. Le tableau suivant montre les fragments de signature.

Description Taille
Identificateur global unique (GUID) indiquant que ce message a été envoyé à l’aide de MQSendLargeMessage 16 octets
GUID du message : ID de message unique par grande taille commun à toutes les parties du message 16 octets
Taille totale du message volumineux 4 octets
Numéro de référence 2 B
Nombre de parties du message 2 B

La décision d’utiliser PROPID_M_EXTENSION a une implication supplémentaire. Le pont MSMQ-MQSeries Microsoft Host Integration Server utilise cette propriété pour transmettre une structure contenant les propriétés qui ne font pas l'objet d'un mappage direct entre les messages MQSeries et Message Queuing. Toutes les applications qui envoient des messages vers et depuis MQSeries utilisent, de manière explicite ou implicite, cette structure. Message Queuing peut générer un accusé de réception lorsqu'un message est reçu depuis une file d'attente par une application réceptrice. Les accusés de réception sont envoyés vers la file d'attente spécifiée par l'application émettrice. Dans le cas de messages volumineux, cet accusé est uniquement envoyé pour la dernière partie du message.

Voir aussi

Utilitaires du SDK