Verifica del completamento dei comandi asincroni per le reti distribuite

Molti comandi sono asincroni quando utilizzati in una rete distribuita. A seconda del comando e dello stato della rete quando viene immesso, il completamento può richiedere molto tempo. Il gestore code non emette un messaggio al completamento, pertanto sono necessari altri modi per controllare che il comando sia terminato.

Informazioni su questa attività

È probabile che quasi tutte le modifiche di configurazione apportate a un cluster vengano completate in modo asincrono. Ciò è dovuto ai cicli di gestione e aggiornamento interni che operano all'interno dei cluster. Per le gerarchie di pubblicazione / sottoscrizione, è probabile che qualsiasi modifica della configurazione che influisca sulle sottoscrizioni venga completata in modo asincrono. Questo non è sempre ovvio dal nome del comando.

I seguenti comandi MQSC potrebbero essere tutti completati in modo asincrono. Ciascuno di questi comandi ha un equivalente PCF e la maggior parte è disponibile anche da IBM® MQ Explorer . Quando vengono eseguiti su una rete di piccole dimensioni senza alcun carico di lavoro, questi comandi generalmente vengono completati in pochi secondi. Tuttavia, ciò non vale per le reti più grandi e più affollate. Inoltre, il comando REFRESH CLUSTER potrebbe richiedere molto più tempo, in particolare quando viene emesso su più gestori code contemporaneamente.

Per avere la certezza che questi comandi siano stati completati, verificare che gli oggetti previsti esistano sui gestori code remoti.

Procedura

  • Gestore code TER

    Per il comando ALTER QMGR PARENT , utilizzare DISPLAY PUBSUB TYPE(PARENT) ALL per tenere traccia dello stato della relazione principale richiesta.

    Per i comandi ALTER QMGR REPOS e ALTER QMGR REPOSNL , utilizzare DISPLAY CLUSQMGR QMTYPE per confermare il completamento.

  • DEFINE CHANNEL, ALTER CHANNELe DELETE CHANNEL

    Per tutti i parametri elencati nella tabella Parametri ALTER CHANNEL, utilizzare il comando DISPLAY CLUSQMGR per monitorare quando le modifiche sono state propagate al cluster.

  • DEFINE NAMELIST, ALTER NAMELISTe DELETE NAMELIST.

    Se si utilizza un NAMELIST sull'attributo CLUSNL di un oggetto QMgr , una coda o un canale cluster potrebbero influire su tale oggetto. Monitorare come appropriato per l'oggetto interessato.

    Le modifiche a SYSTEM.QPUBSUB.QUEUE.NAMELIST potrebbero influire sulla creazione o l'annullamento delle sottoscrizioni proxy in una gerarchia di pubblicazione / sottoscrizione. Utilizzare il comando DISPLAY SUB SUBTYPE(PROXY) per monitorarlo.

  • DEFINE queues, ALTER queuese DELETE queues.

    Per tutti i parametri elencati nella tabella Parametri che possono essere restituiti dal comando DISPLAY QUEUE, utilizzare il comando DISPLAY QCLUSTER per monitorare quando le modifiche sono state propagate al cluster.

  • DEFINE SUBe DELETE SUB

    Quando si definisce la prima sottoscrizione su una stringa argomento, è possibile creare sottoscrizioni proxy in una gerarchia di pubblicazione / sottoscrizione o in un cluster di pubblicazione / sottoscrizione. Allo stesso modo, quando si elimina l'ultima sottoscrizione su una stringa di argomenti, è possibile annullare le sottoscrizioni proxy in una gerarchia di pubblicazione / sottoscrizione o in un cluster di pubblicazione / sottoscrizione.

    Per verificare che un comando che definisce o elimina una sottoscrizione sia terminato, verificare se la sottoscrizione proxy prevista esiste o meno su altri gestori code nella rete distribuita. Se si sta utilizzando l' instradamento diretto in un cluster, verificare che la sottoscrizione proxy prevista esista sugli altri repository parziali nel cluster. Se si sta utilizzando l' instradamento dell'host argomento in un cluster, verificare che la sottoscrizione proxy prevista esista sugli host argomento corrispondenti. Utilizzare il seguente comando MQSC:
    DISPLAY SUB(*) SUBTYPE(PROXY)
    
    Utilizzare lo stesso controllo per le seguenti chiamate MQI di sottoscrizione e annullamento sottoscrizione equivalenti, quando vengono emesse in un cluster o in una gerarchia:
    • Sottoscrivere utilizzando MQSUB.
    • Annullare la sottoscrizione utilizzando MQCLOSE con MQCO_REMOVE_SUB.
  • DEFINE TOPIC, ALTER TOPICe DELETE TOPIC

    Per verificare che un comando che definisce, modifica o elimina un argomento in cluster sia terminato, visualizzare l'argomento negli altri repository parziali nel cluster (se si utilizza l' instradamento diretto ) o su altri host argomento (se si utilizza l' instradamento host argomento ).

    Per tutti i parametri elencati nella tabella Parametri che possono essere restituiti dal comando DISPLAY TOPIC, utilizzare il comando DISPLAY TCLUSTER per monitorare quando le modifiche sono state propagate al cluster.
    Nota:
    • Il parametro CLUSTER può influenzare la creazione o l'annullamento delle sottoscrizioni proxy in un cluster di pubblicazione / sottoscrizione.
    • I parametri PROXYSUB e SUBSCOPE possono influenzare la creazione o l'annullamento di sottoscrizioni proxy in una gerarchia di pubblicazione / sottoscrizione o in un cluster di pubblicazione / sottoscrizione.
    • Utilizzare il comando DISPLAY SUB SUBTYPE(PROXYSUB) per monitorarlo.
  • AGGIORNA CLUSTER

    Se si sta eseguendo il comando REFRESH CLUSTER , eseguire il polling della profondità della coda comandi del cluster. Attendere che raggiunga lo zero, e rimanere a zero, prima di cercare gli oggetti.

    1. Utilizzare il seguente comando MQSC per verificare che la profondità della coda di comandi del cluster sia zero.
      DISPLAY QL(SYSTEM.CLUSTER.COMMAND.QUEUE) CURDEPTH
      
    2. Ripetere il controllo fino a quando la profondità della coda non raggiunge lo zero e rimane a zero nel successivo controllo.

    Il comando REFRESH CLUSTER rimuove e ricrea gli oggetti e, in configurazioni di grandi dimensioni, può richiedere molto tempo per il completamento. Consultare Considerazioni su REFRESH CLUSTER per i cluster di pubblicazione / sottoscrizione.

  • AGGIORNA QMGR TYPE (PROXYSUB)
    Per verificare che il comando REFRESH QMGR TYPE(PROXYSUB) sia terminato, verificare che le sottoscrizioni proxy siano state corrette su altri gestori code nella rete distribuita. Se si sta utilizzando l' instradamento diretto in un cluster, verificare che le sottoscrizioni proxy siano state corrette sugli altri repository parziali nel cluster. Se si sta utilizzando l' instradamento host argomento in un cluster, verificare che le sottoscrizioni proxy previste siano state corrette sugli host argomento corrispondenti. Utilizzare il seguente comando MQSC:
    DISPLAY SUB(*) SUBTYPE(PROXYSUB)
    
  • REIMPOSTA CLUSTER

    Per controllare che il comando RESET CLUSTER sia stato completato, utilizzare DISPLAY CLUSQMGR.

  • RESET QMGR TIPO (PUBSUB)

    Per controllare che il comando RESET QMGR sia stato completato, utilizzare DISPLAY PUBSUB TYPE(PARENT|CHILD).

    Nota: il comando RESET QMGR potrebbe causare l'annullamento delle sottoscrizioni proxy in una gerarchia di pubblicazione / sottoscrizione o in un cluster di pubblicazione / sottoscrizione. Utilizzare il comando DISPLAY SUB SUBTYPE(PROXYSUB) per monitorarlo.
  • È inoltre possibile che si desideri monitorare altre code di sistema che, man mano che i comandi vengono completati, tendono verso una profondità di coda pari a zero.
    Ad esempio, si potrebbe voler monitorare la coda SYSTEM.INTER.QMGR.CONTROL e la coda SYSTEM.INTER.QMGR.FANREQ . Vedi Monitoraggio del traffico di sottoscrizione proxy nei cluster e Bilanciamento dei produttori e dei consumatori nelle reti di pubblicazione / sottoscrizione.

Cosa fare successivamente

Se questi controlli non confermano che un comando asincrono è terminato, è possibile che si sia verificato un errore. Per analizzare, controllare prima il log per il gestore code su cui è stato emesso il comando, quindi (per un cluster) controllare i log del repository completo del cluster.