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.

Pourquoi et quand exécuter cette tâche

Lorsqu'IBM® MQ reçoit un appel d'un programme sur l'un de ses points d'entrée d'API, il 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. Sur les systèmes Windows et Linux® (plateformes x86 et x86-64), vous pouvez modifier les informations de configuration à partir d'IBM MQ Explorer. Les détails de configuration sont stockés dans des fichiers .ini.

  1. Configurer un exit API dans IBM MQ Explorer
  2. Remplacer 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 de propriétés d'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 modèle dans la boîte de dialogue de propriétés d'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 API dans les boîtes de dialogue des propriétés d'IBM MQ et du gestionnaire de files d'attente, les valeurs d'attribut sont ajoutées aux strophes ApiExitCommon, ApiExitTemplate et ApiExitLocal dans les fichiers de configuration ou le registre Windows.
Tableau 1. Attributs des exits API
Attribut Explication Indicatif de strophe
Nom Nom descriptif de l'exit API, transmis à l'exit API dans la zone ExitInfoName de la structure MQAXP. Ce nom doit être unique et contenir un maximum de 48 caractères, et uniquement ceux qui sont admis pour les noms d'objet IBM MQ, comme les noms de file d'attente. Nom
Type Indique le type d'exit : commun, modèle, local ou remplacement. (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. Cette zone est utilisée telle quelle si elle 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
Données 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. Données

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. Dans 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 Ajout d'un exit API.
    4. Cliquez sur OK pour créer l'exit et fermer la boîte de dialogue Ajout d'un exit 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 Edition de l'exit API, puis cliquez sur OK pour sauvegarder les modifications.
    L'exit local remplace à présent l'exit commun portant le même nom.