En cours et actif

Le canal est en cours s'il est dans un état autre que inactif. Un canal en cours est actif sauf s'il est à l'état REESSAYEZ, STOPPED ou STARTING.

Si un canal est "actif", il peut également afficher un sous-état donnant plus de détails sur ce que fait exactement le canal.
Figure 1 : Flux entre les états de canal
Le diagramme montre les flux entre les états de canal. Un canal arrêté peut être démarré et devient inactif. Une commande de démarrage, un déclencheur, un lancement à distance ou un initiateur de canal place le canal à l'état d'initialisation. Le canal passe à l'état de démarrage, puis à l'état de liaison, alors qu'il établit la session et l'échange de données initial. Si le statut est OK, l'état du canal devient en cours d'exécution. Le canal peut être mis en pause lors de l'attente de l'intervalle entre les nouvelles tentatives de message, ou être arrêté après une erreur, une demande STOP ou si un intervalle de déconnexion expire. Le canal peut alors passer à l'état de relance ou revenir à l'état arrêté.
Remarque :
  1. Lorsqu'un canal se trouve dans l'un des six états mis en évidence dans la Figure 1 (INITIALIZING, BINDING, REQUÉRIR, RUNNING, PAUSED ou STOPPING), il consomme une ressource et un processus ou une unité d'exécution est en cours d'exécution ; le canal est actif.
  2. Lorsqu'un canal est à l'état STOPPED, la session peut être active car l'état suivant n'est pas encore connu.

Spécification du nombre maximal de canaux en cours

Vous pouvez spécifier le nombre maximal de canaux pouvant être en cours simultanément. Ce nombre correspond au nombre de canaux ayant des entrées dans la table de statut des canaux, y compris les canaux en cours de relance et les canaux arrêtés. Spécifiez ceci pour votre plateforme:
  • [z/OS]Utilisez la commande ALTER QMGR MAXCHL.
  • [IBM i]Modifiez le fichier d'initialisation du gestionnaire de files d'attente.
  • [AIX][Linux]Modifiez le fichier de configuration du gestionnaire de files d'attente.
  • Utilisez le IBM® MQ Explorer.
Pour plus d'informations sur les valeurs définies à l'aide du fichier d'initialisation ou de configuration, voir Strophes du fichier de configuration pour la mise en file d'attente répartie. Pour plus d'informations sur la spécification du nombre maximal de canaux, voir les rubriques suivantes:
Remarque :
  1. Les canaux de connexion serveur sont inclus dans ce nombre.
  2. Un canal doit être à jour pour pouvoir devenir actif. Si un canal est démarré, mais ne peut pas devenir actif, le démarrage échoue.

Spécification du nombre maximal de canaux actifs

Vous pouvez également spécifier le nombre maximal de canaux actifs pour éviter que votre système ne soit surchargé par de nombreux canaux de démarrage. Si vous utilisez cette méthode, définissez l'attribut d'intervalle de déconnexion sur une valeur faible pour permettre aux canaux en attente de démarrer dès que d'autres canaux s'arrêtent.

Chaque fois qu'un canal tente à nouveau d'établir une connexion avec son partenaire, il doit devenir un canal actif. Si la tentative échoue, le canal en cours reste inactif jusqu'à la prochaine tentative. Nombre de nouvelles tentatives d'un canal et fréquence, déterminé par les attributs de nombre de nouvelles tentatives et d'intervalle entre les nouvelles tentatives. Il existe des valeurs courtes et longues pour ces deux attributs. Pour plus d'informations, voir Attributs de canal .

Lorsqu'un canal doit devenir un canal actif (parce qu'une commande START a été émise, ou parce qu'elle a été déclenchée, ou parce qu'il est l'heure d'une nouvelle tentative), mais qu'il ne peut pas le faire car le nombre de canaux actifs est déjà à la valeur maximale, le canal attend jusqu'à ce que l'un des emplacements actifs soit libéré par une autre instance de canal qui cesse d'être active. Toutefois, si un canal est en cours de démarrage parce qu'il est en cours de lancement à distance et qu'aucun emplacement actif n'est disponible pour ce canal à ce moment-là, le lancement à distance est rejeté.

Chaque fois qu'un canal, autre qu'un canal demandeur, tente de devenir actif, il passe à l'état STARTING. Cet état se produit même si un créneau actif est immédiatement disponible, bien qu'il ne soit à l'état STARTING que pendant un court laps de temps. Toutefois, si le canal doit attendre un emplacement actif, il est à l'état DEMARRE alors qu'il est en attente.

Les canaux demandeurs ne passent pas à l'état STARTING. Si un canal demandeur ne peut pas démarrer car le nombre de canaux actifs est déjà à la limite, le canal se termine de manière anormale.

Chaque fois qu'un canal, autre qu'un canal demandeur, n'est pas en mesure d'obtenir un slot actif et attend donc d'en avoir un, un message est écrit dans le journal [z/OS] z/OS, et un événement est généré. Lorsqu'un attribut est libéré ultérieurement et que le canal est en mesure de l'acquérir, un autre message et un autre événement sont générés. Aucun de ces événements et messages n'est généré si le canal est immédiatement en mesure d'acquérir un créneau.

Si une commande STOP CHANNEL est émise alors que le canal est en attente de devenir actif, il passe à l'état STOPPED. Un événement Channel-Stopped est émis.

Les canaux de connexion serveur sont inclus dans le nombre maximal de canaux actifs.

Pour plus d'informations sur la spécification du nombre maximal de canaux actifs, voir les rubriques suivantes: