Traitement des canaux en attente de validation

Un canal en attente de validation est un canal en attente de validation avec un canal distant sur lequel des messages ont été envoyés et reçus.

A propos de cette tâche

Notez la distinction entre ce gestionnaire de files d'attente et un gestionnaire de files d'attente en attente de savoir quels messages doivent être validés dans une file d'attente.

Vous pouvez réduire la possibilité pour un canal d'être mis en attente de validation à l'aide du paramètre de canal de pulsation par lots (BATCHHB). Lorsqu'une valeur est spécifiée pour ce paramètre, un canal émetteur vérifie que le canal distant est toujours actif avant de prendre toute autre mesure. Si aucune réponse n'est reçue, le canal récepteur est considéré comme n'étant plus actif. Les messages peuvent être annulés et réacheminés, et le canal émetteur n'est pas mis en attente de validation. Cela réduit le temps pendant lequel le canal peut être mis en attente de validation à la période comprise entre le moment où le canal émetteur vérifie que le canal récepteur est toujours actif et celui où le canal récepteur a reçu les messages émis. Pour plus d'informations sur le paramètre de signal de présence par lots, voir Attributs de canal .

Les problèmes de canal en attente de validation sont généralement résolus automatiquement. Même lorsque la communication est perdue et qu'un canal est mis en attente de validation avec un lot de messages à l'expéditeur dont le statut de réception est inconnu, la situation est résolue lorsque la communication est rétablie. Les numéros de séquence et les enregistrements LUWID sont conservés à cette fin. Le canal est en attente de validation jusqu'à ce que les informations LUWID aient été échangées, et un seul lot de messages peut être en attente de validation pour le canal.

Vous pouvez, si nécessaire, resynchroniser le canal manuellement. Le terme manuel inclut l'utilisation d'opérateurs ou de programmes qui contiennent des commandes de gestion du système IBM® MQ . Le processus de resynchronisation manuelle fonctionne comme suit. Cette description utilise des commandes MQSC, mais vous pouvez également utiliser les équivalents PCF.

Procédure

  1. La commande DISPLAY CHSTATUS permet de rechercher l'ID de la dernière unité de travail logique validée (LUWID) pour chaque côté du canal.
    Pour ce faire, utilisez les commandes suivantes:
    • Pour le côté en attente de validation du canal:
      DISPLAY CHSTATUS(name) SAVED CURLUWID
      

      Vous pouvez utiliser les paramètres CONNAME et XMITQ pour identifier plus précisément le canal.

    • Pour la partie réceptrice du canal:
      DISPLAY CHSTATUS( name ) SAVED LSTLUWID
      

      Vous pouvez utiliser le paramètre CONNAME pour identifier plus précisément le canal.

    Remarque: Les commandes sont différentes car seul le côté émetteur du canal peut être en attente de validation. Le côté récepteur n'est jamais en doute.

    [IBM i]Sous IBM i, la commande DISPLAY CHSTATUS peut être exécutée à partir d'un fichier à l'aide de la commande STRMQMMQSC ou de la commande CL Work with MQM Channel Status, WRKMQMCHST.

  2. Si les deux LUWID sont identiques, utilisez la commande RESOLVE CHANNEL pour valider les messages en attente de validation.
    Si les deux LUWID sont identiques, le destinataire a validé l'unité de travail que l'expéditeur considère comme en attente de validation. Le côté émetteur peut désormais supprimer les messages en attente de validation de la file d'attente de transmission et les réactiver. Cette opération est effectuée à l'aide de la commande RESOLVE CHANNEL suivante:
    RESOLVE CHANNEL(name) ACTION(COMMIT)
    
  3. Si les deux LUWID sont différents, utilisez la commande RESOLVE CHANNEL pour rétablir les messages en attente de validation.
    Si les deux LUWID sont différents, le destinataire n'a pas validé l'unité de travail que l'expéditeur considère comme en attente de validation. Le côté émetteur doit conserver les messages en attente de validation dans la file d'attente de transmission et les renvoyer. Cette opération est effectuée à l'aide de la commande RESOLVE CHANNEL suivante:
    RESOLVE CHANNEL( name ) ACTION(BACKOUT)
    

    [IBM i]Sur IBM i, vous pouvez utiliser la commande Resolve MQM Channel, RSVMQMCHL.

Résultats

Une fois ce processus terminé, le canal n'est plus en attente de validation. La file d'attente de transmission peut désormais être utilisée par un autre canal, si nécessaire.