Configuration des exits API

Un exit API est un module de code, sous forme de fichier .dll, fourni par vos soins et exécuté immédiatement avant ou après des appels MQI.

A propos de cette tâche

Lorsque IBM® MQ reçoit un appel d'un programme à l'un de ses points d'entrée d'API, IBM MQ appelle votre exit API. L'exit API est exécuté soit avant, soit après l'exécution de MQI, selon la configuration de l'exit.

Vous pouvez spécifier qu'aucun, un, ou plusieurs exits soient appelés et vous pouvez définir l'ordre d'appel de plusieurs exits. Sous Windows et Linux® (plateformesx86 et x86-64 ), vous pouvez configurer les exits API à l'aide de IBM MQ Explorer. Les détails de configuration sont stockés dans des fichiers .ini.

  1. Configurez un exit API dans IBM MQ Explorer.
  2. Remplacement d'un exit API commun par un exit API local.
Il existe trois types de définitions d'exits API :
Commun (ApiExitCommon)
Un ensemble de définitions par ordinateur. Lors du lancement du gestionnaire de files d'attente, les exits API définis (le cas échéant) sont lus et appliqués au gestionnaire. Configurez les exits API communs dans la boîte de dialogue des propriétés IBM MQ . Les exits communs sont affichés dans la table Exits d'API locaux de la boîte de dialogue de propriétés de chaque gestionnaire de files d'attente local.
Modèle (ApiExitTemplate)
Un ensemble de définitions par ordinateur. Lors de la création d'un gestionnaire de files d'attente, les exits API définis ici, s'ils existent, sont copiés dans le gestionnaire de files d'attente créé en tant qu'exits API locaux. Configurez les exits API de modèle dans la boîte de dialogue de propriétés IBM MQ .
Local (ApiExitLocal)
Un ensemble de définitions par gestionnaire de files d'attente. Lorsque le gestionnaire de files d'attente démarre, toutes les exits API définies remplacent les exits communs si leurs attributs Nom sont identiques, et si le remplacement a été indiqué. Lorsqu'un exit API commun est remplacé, toutes les zones de la définition des exits API communs sont sauvegardées, même si une valeur est affectée à l'attribut Données facultatif. Configurez les exits API locaux dans la boîte de dialogue de propriétés du gestionnaire de files d'attente.
Lorsque vous configurez des exits d'interface de programmation dans les boîtes de dialogue de propriétés IBM MQ et du gestionnaire de files d'attente, les valeurs d'attribut sont ajoutées aux strophes ApiExitCommon, ApiExitTemplateet ApiExitLocal dans les fichiers de configuration ou dans le registre Windows.
Tableau 1. Attributs des exits API
Attribut Explication Indicatif de strophe
Name Nom descriptif de l'exit API, transmis à l'exit API dans la zone ExitInfoName de la structure MQAXP. Ce nom doit être unique et être limité à 48 caractères. Il ne doit contenir que les caractères admis pour le nom des objets IBM MQ , tels que les noms de file d'attente. Name
Tapez Indique le type de sortie : common, template, localou override. (Il ne s'agit pas d'un indicatif de strophe séparé.)
Séquence Cet attribut est une valeur numérique non signée définissant l'ordre dans lequel cet exit API est appelé, par rapport aux autres exits API. Les exits API sont appelés par ordre croissant de numéro de séquence. L'ordre d'appel des exits API ayant le même numéro de séquence n'est pas défini. La succession des numéros de séquence des exits API d'un gestionnaire de files d'attente peut être non linéaire. Séquence
Module Indique le module contenant le code de l'exit API. Ce champ est utilisé tel quel s'il contient le chemin d'accès complet au module. S'il ne contient que son nom, le module est localisé de la même façon que pour les exits de canal, c'est-à-dire, à l'aide de la valeur de la zone Chemin par défaut de l'exit de la page Exits, dans la boîte de dialogue de propriétés du gestionnaire de files d'attente. Module
Fonction Indique le nom du point d'entrée de la fonction dans le module contenant le code de l'exit API. Ce point d'entrée est la fonction MQ_INIT_EXIT. La longueur de cette zone est limitée à MQ_EXIT_NAME_LENGTH. Fonction
Data Si cet attribut est indiqué, les blancs de début et de fin sont supprimés, la chaîne restante est tronquée à 32 caractères et le résultat transmis à l'exit dans la zone ExitData de la structure MQAXP. Si cet attribut n'est pas indiqué, la valeur par défaut de 32 blancs est transmise à l'exit dans la zone ExitData de la structure MQAXP. Data

Procédure

  • [ OPTION 1 ] Configurer un exit API dans IBM MQ Explorer.
    1. Ouvrez la boîte de dialogue de propriétés correspondante :
    2. Sur la page Exits , cliquez sur Ajouter .... La boîte de dialogue Ajout d'un exit API apparaît.
    3. Entrez les informations requises dans les zones de la boîte de dialogue Ajouter un exit d'API .
    4. Cliquez sur OK pour créer l'exit et fermer la boîte de dialogue Ajouter un exit d'API .
    Les propriétés du nouvel exit API sont affichées dans le tableau de la page Exits.
  • [OPTION 2] Remplacer un exit API commun par un exit API local

    Si un exit API local est défini sur un gestionnaire de files d'attente, avec le même nom qu'un exit commun, le premier se substitue au second. En d'autres termes, l'exit API local est appelé à la place de l'exit API commun. Pour éviter des remplacements involontaires, l'interface utilisateur vous oblige à effectuer des actions précises pour configurer un remplacement. Par exemple, vous ne pouvez pas ajouter de nouvel exit ayant le même nom qu'un exit existant, et vous ne pouvez pas changer le nom d'un exit s'il en existe déjà un avec le même nom. Néanmoins, vous pouvez ajouter un exit API local à un gestionnaire de files d'attente, afin qu'il soit utilisé à la place de l'exit API commun. Dans ce cas, vous devez remplacer l'exit API commun par l'exit API local.

    1. Ouvrez la page Exits de la boîte de dialogue de propriétés du gestionnaire de files d'attente.
    2. Cliquez sur l'exit commun à remplacer dans la table Exits d'API locaux .
    3. Cliquez sur Remplacer.
      La boîte de dialogue Edition de l'exit API s'ouvre avec le nom de l'exit API commun affiché.
    4. Entrez les détails de l'exit API local dans la boîte de dialogue Editer l'exit API et cliquez sur OK pour enregistrer les modifications.
    L'exit local remplace à présent l'exit commun portant le même nom.