Activité MQ Obtenir message

Utilisez l'activité MQ Obtenir message pour extraire des messages d'une file d'attente MQ pendant l'exécution.

Remarque : Vous devez avoir créé sur un noeud final pour l'activité MQ avant de configurer l'activité.
La tâche Configurer est composée de trois sections :

Une fois les tâches Configurer, Entrées de mappage et Mappage de sorties pour l'activité.

Remarque : La taille maximale de message est 100 Mo.

Caractéristiques des files d'attente et des messages

Spécifiez les caractéristiques des files d'attente et des messages à l'aide des zones du tableau suivant. Les zones obligatoires sont marquées d'un astérisque.
Zone Description
Nom de file d'attente * Indique le nom de la file d'attente MQ dont le dispositif d'intégration tente d'extraire les messages.
Délai d'expiration Nombre de secondes avant l'expiration du délai entre l'activité MQ Obtenir message demandant à extraire un message de la file d'attente et la durée nécessaire au renvoi du message. Si le délai d'attente expire et qu'aucun message n'est renvoyé par la file d'attente, le dispositif d'intégration attend le délai spécifié avant de tenter à nouveau d'extraire un message. Pour une explication détaillée des délais d'attente et des options de nouvel essai, voir Délai d'expiration et options de nouvelle tentative.

Pour spécifier le nombre de secondes pendant lequel le dispositif d'intégration doit attendre avant d'émettre un délai d'attente, sélectionnez l'option Après et entrez le nombre de secondes dans la zone Secondes. Par défaut, l'option Jamais est sélectionnée ; cette option spécifie que le dispositif d'intégration attend indéfiniment pour extraire un message de la file d'attente ; il n'y a pas d'expiration du délai.

Type de données utiles Indique le type de données de la charge de message, binaire ou chaîne.
Fragment de schéma pour en-tête MQRFH2 Indique qu'un en-tête MQRFH2 est inclus dans le message. Si le message inclut un en-tête MQRFH2, cochez cette case et cliquez sur [...]. Dans la boîte de dialogue Recherche d'élément de type de schéma, pour rechercher le schéma XML qui définit l'en-tête, sélectionnez l'élément NameValueData dans ce schéma XML et cliquez sur OK. Le fragment de schéma est l'élément NameValueData et tous ses éléments enfant.
Remarque : Vous devez d'abord créer le schéma XML qui définit l'en-tête et le charger dans le projet pour pouvoir le sélectionner. Pour plus d'informations, voir Définition et chargement d'un schéma XML pour un en-tête MQRFH2.

Règles de distribution

Zone Description
Distribuer des messages Les options disponibles ici varient selon que vous avez ou non coché la case Où les messages ont des ID uniques. Si cette case est cochée, les trois options sont disponibles. Si elle n'est pas cochée, seule l'option Au moins une s'affiche.
  • Au moins une fois - Indique que le message est distribué au moins une fois mais qu'il peut être distribué plusieurs fois. Les échecs de la connexion ou du dispositif d'intégration peuvent générer des messages qui sont extraits et traités plusieurs fois. Cette option de distribution est généralement utilisée lorsque le système de réception peut détecter ou tolérer des messages dupliqués.
  • Pas plus d'une fois - Indique que le message est distribué une seule fois ou pas du tout. Les échecs de la connexion ou du dispositif d'intégration peuvent générer des messages qui sont perdus. Cette option de distribution est généralement utilisée lorsque le système de réception ne peut pas tolérer les messages dupliqués mais peut tolérer les messages perdus.
  • Une fois exactement - Indique que le message est distribué une seule fois. Les échecs de connexion ou du dispositif d'intégration n'affectent pas la distribution avec cette option. Le dispositif d'intégration utilise les ID de messages MQ pour garantir que chaque messages est extrait et traité une fois exactement.
    Remarque : Si vous sélectionnez l'option Une fois exactement, vous devez activer la persistance. Pour plus d'informations, voir Activation de la persistance.
Où les messages ont des ID uniques Indique si les messages de la file d'attente ont des ID uniques.

Options de nouvelle tentative

Configurez les options de nouvelle tentative pour obtenir un message de la file d'attente MQ, comme décrit dans le tableau suivant :

Option de nouvelle tentative Description
1) Attendre ___ secondes entre chaque tentative. Nombre de secondes pendant lesquelles le dispositif d'intégration attend avant de tenter à nouveau d'extraire un message de la file d'attente. Pour en savoir plus sur la relation de cette option avec la zone Délai d'expiration dans le panneau Configurer ou le paramètre d'entrée timeout, voir Délai d'expiration et options de nouvelle tentative.
2) Tenter de se connecter ___ fois avant l'échec. Indique le nombre de fois que le dispositif d'intégration tente d'extraire un message de la file d'attente avant d'émettre une erreur et d'arrêter le traitement du travail d'orchestration en cours.

Si vous déployez une orchestration qui contient une activité MQ Obtenir message et que le dispositif d'intégration ne peut pas se connecter au serveur MQ spécifié ou ne peut pas obtenir un message de la file d'attente, le dispositif d'intégration consigne les erreurs en tant qu'avertissements dans les journaux du système et de l'orchestration jusqu'à ce que la valeur de nombre de tentatives soit atteinte. Lorsque le nombre de tentatives est atteint, le dispositif d'intégration consigne une erreur dans les journaux du système et de l'orchestration et arrête le traitement du travail d'orchestration en cours.

Par exemple, si vous indiquez la valeur 3 pour le nombre de tentatives, les première, deuxième et troisième erreurs apparaissent dans le journal système en tant qu'avertissements. Le dispositif d'intégration consigne la quatrième erreur en tant qu'erreur et arrête le traitement du travail d'orchestration en cours.

Pour en savoir plus sur la relation de cette option avec la zone Délai d'expiration dans le panneau Configurer ou le paramètre d'entrée timeout, voir les options d'expiration du délai et d'essai.

Entrées de mappage

  1. Sélectionnez la tâche Mapper les entrées dans la Liste de contrôle. Le panneau Réessayer s'affiche.

    Les paramètres d'entrée de l'activité sont affichés dans le panneau Vers l'activité.

  2. Tous les paramètres d'entrée de l'activité MQ Obtenir message sont facultatifs. Si les paramètres d'entrée répertoriés dans le tableau suivant ne sont pas affichés dans la sous-fenêtre Vers l'activité du panneau Mapper les entrées, sélectionnez Mapper > Afficher les paramètres facultatifs dans le menu de la barre d'outils ou cliquez avec le bouton droit de la souris dans le panneau Vers l'activité et sélectionnez l'option Afficher les paramètres facultatifs. Si l'option Mapper > Afficher les paramètres facultatifs ne peut pas être sélectionnée dans le menu de la barre d'outils, cliquez sur un noeud dans le panneau Mapper les entrées pour activer cette option.
    Vous pouvez contraindre le type de message renvoyé par l'activité MQ Obtenir message en mappant une combinaison des noeuds suivants du paramètre d'entrée facultatif mqmdheader :
    • mqmdheader/MsgId
    • mqmdheader/CorreId
    • mqmdheader/GroupId
    • mqmdheader/MsgSeqNumber

    A l'exécution, l'activité se produit séquentiellement dans les messages de la file d'attente. Si aucun élément n'est mappé sur ces noeuds, aucun élément n'est contraint de sorte que le premier message de la file d'attente est renvoyé par l'activité MQ Obtenir message et que l'activité suivante dans l'orchestration est traitée.

    Si l'un de ces noeuds est mappé, pendant l'exécution, l'activité MQ Obtenir message se déroule dans chaque message de la file d'attente jusqu'à ce qu'elle trouve le premier message qui correspond aux valeurs d'exécution de tous les noeuds mappés. Le premier message concordant est renvoyé par l'activité MQ Obtenir message et l'activité suivante dans l'orchestration est traitée.

    Par exemple, dans la tâche Mapper les entrées, mqmdheader/MsgId est mappé sur la chaîne appelée msgId et la valeur par défaut largeOrders est spécifiée pour mqmdheader/GroupId, comme illustré dans la figure suivante :
    Pendant l'exécution, l'activité MQ Obtenir message renvoie le premier message de la file d'attente qui répond aux deux conditions suivantes :
    • La valeur d'exécution spécifiée de la variable de chaîne appelée msgId est égale à l'ID du message dans la file d'attente.
    • L'ID groupe du message est égal à largeOrders.

    Si vous le souhaitez, vous pouvez remplacer les paramètres que vous avez spécifiés pour Nom de file d'attente et Délai d'expiration dans la tâche Configurer de la Liste de contrôle, dynamiquement en phase d'exécution, à l'aide des paramètres d'entrée définis dans le tableau ci-après.

    Par exemple, le nom de file d'attente MQ défini dans la tâche Configurer peut être poqueue. A l'exécution, le nom de file d'attente MQ peut être transmis à l'activité à l'aide du paramètre d'entrée queuename. Le nom de file d'attente spécifié dynamiquement pendant l'exécution remplace le paramètre initial, spécifié dans le panneau Configurer. Dans cet exemple, le dispositif d'intégration recherche les messages dans la file d'attente MQ nommée newqueue.

    Paramètres d'entrée facultatifs qui remplacent les paramètres dans la tâche Configurer
    Nom de paramètre d'entrée/Noeud Description Remplace le paramètre dans la tâche ?
    timeout Indique la durée pendant laquelle le dispositif d'intégration attend avant de tenter à nouveau d'extraire un message de la file d'attente.

    Spécifiez un nombre négatif pour indiquer qu'il n'y a pas d'expiration de délai - Le dispositif d'intégration attend indéfiniment pour extraire un message de la file d'attente. La spécification d'un nombre négatif équivaut à indiquer l'option Jamais dans la tâche Configurer.

    Le paramètre d'entrée timeout remplace la zone Délai d'expiration de la tâche Configurer.
    queuename Indique le nom de la file d'attente MQ dont le dispositif d'intégration tente d'extraire les messages. Le paramètre d'entrée queuename remplace le codage spécifié dans la zone Nom de file d'attente de la tâche Configurer.

    Voir Création d'une mappe pour des instructions générales sur le mappage.

Mappage de sorties

Il n'est pas obligatoire de mapper les paramètre de sortie pour cette activité. Voir Création d'une mappe pour des instructions générales sur le mappage.

Délai d'expiration et options de nouvelle tentative

Le délai indiqué dans la zone Délai d'expiration de la tâche Configurer ou le paramètre d'entrée timeout spécifie la durée en secondes avant l'expiration du délai entre l'activité MQ Obtenir message demandant à extraire un message de la file d'attente et la durée nécessaire au renvoi du message. Si le délai d'attente expire et qu'aucun message n'est renvoyé par la file d'attente, le dispositif d'intégration attend le délai spécifié dans l'option 1) Attendre ___ seconde(s) entre chaque tentative avant de tenter à nouveau d'extraire un message. Le dispositif d'intégration continue de tenter d'extraire le message jusqu'à ce qu'il atteigne le nombre de tentatives indiqué. Le nombre de tentatives est indiqué dans l'option 2) Tenter de se connecter ___ fois avant l'échec. Les options 1) Attendre ___ seconde(s) entre chaque tentative et 2) Tenter de se connecter ___ fois avant l'échec sont spécifiées dans la tâche Options de nouvelle tentative.

Par exemple, l'activitéMQ Obtenir message est configurée avec les options suivantes :
  • La zone Délai d'expiration de la tâche Configurer est définie à 10 secondes, le paramètre d'entrée timeout facultatif n'est pas mappé, et aucune valeur par défaut n'est définie.
  • L'option 1) Attendre ___ seconde(s) entre chaque tentative est définie à 15 secondes.
  • L'option 2) Tenter de se connecter ___ fois avant l'échec est définie à 2.
A l'exécution, si l'activité MQ Obtenir message ne parvient pas à extraire de message de la file d'attente, comme illustré dans la figure suivante :