Serializzazione dell'input tra broker separati su z/OS

Questo esempio dimostra che solo un nodo di input alla volta estrae i messaggi da una coda condivisa quando lo stesso token di serializzazione viene utilizzato dai flussi di messaggi in esecuzione su broker separati.

Un flusso di messaggi identico MyFlowA viene distribuito ad un gruppo di esecuzione denominato MYGroupA su ciascun broker. Notare che i flussi di messaggi non devono essere identici; è importante che in entrambi i flussi venga utilizzato un token di serializzazione identico.

Il semplice flusso di messaggi in questo esempio è composto da un nodo MQInput collegato ad un nodo MQOutput. Il nodo MQInput in entrambi i flussi di messaggi riceve i messaggi dalla coda condivisa INQueue.QSG; l'attributo del nodo Serialization Token è configurato come MyToken123ABC in entrambi i nodi MQInput.

La proprietà del flusso di messaggi additional Instances ha il valore predefinito zero in entrambi i flussi di messaggi, per assicurare che l'input sia serializzato all'interno del flusso.


Figura che mostra più broker che partecipano ad un gruppo di condivisione code
Di seguito è riportata una sequenza di eventi tipica per questo esempio:
  1. Il primo broker MQ01BRK viene avviato ed esegue il flusso di messaggi MyFlowA nel gruppo di esecuzione MyGroupA. Il nodo di input MyInputNode si collega al gestore code MQ01 mediante il token di serializzazione MyToken123ABC. Il nodo di input apre la coda condivisa INQUeue.QSG e riceve i messaggi di input.
  2. Il secondo broker MQ02BRK viene avviato ed inizia ad eseguire la propria copia del flusso di messaggi MyFlowA nel gruppo di esecuzione MyGroupA. Il nodo di input MyInputNode prova a collegarsi al gestore code MQ02, utilizzando un token di serializzazione MyToken123ABC.
    Viene registrato il seguente messaggio della console SDSF:
     BIP2656I MQ02BRK MyGroupA 17 IMPOSSIBILE APRIRE LA CODA  
     'INQueue.QSG' SUL GESTORE CODE WEBSPHERE BUSINESS INTEGRATION 
     'MQ02': CODICE COMPLETAMENTO 2; CODICE MOTIVO 2271. 
     :ImbCommonInputNode(759) PERCHE' IL TOKEN DI SERIALIZZAZIONE  
     MyToken123ABC è in uso. NON E' RICHIESTA ALCUNA AZIONE DELL'UTENTE.   

    Questo messaggio viene visualizzato ogni 30 minuti.

    Il flusso di messaggi MyFlowA nel gruppo di esecuzione MyGroupA in esecuzione sul broker MQ02BRK non è in grado di elaborare l'input perché il token di serializzazione che ha passato è già in uso all'interno del gruppo di condivisione della coda. Ciò è indicato dal codice motivo 2271 (MQRC_CONN_TAG_IN_USE) nel messaggio bip2623.

  3. Il broker MQ01BRK si arresta. Il flusso di messaggi MyFlowA nel gruppo di esecuzione MyGroupA nel broker MQ02BRK2 è ora in grado di richiamare i messaggi dalla coda condivisa INQueue.QSG.
    Viene registrata una sequenza di messaggi della console SDSF, due dei quali sono importanti:
      BIP2091I MQ02BRK MyGroupA 17 IL BROKER SI 
     E' RICONNESSO A WEBSPHERE BUSINESS INTEGRATION 
     CORRETTAMENTE : ImbCommonInputNode(785)               
      BIP9142I MQ01BRK 0 IL COMPONENTE E' STATO ARRESTATO. : 
     ImbControlService(594)              

La sequenza di eventi precedente si verifica anche in caso di errore del broker MQ01BRK, invece di arrestarsi con una richiesta dell'operatore oppure se viene distribuita una nuova configurazione del broker a MQ01BRK che elimina o modifica il flusso di messaggi MyFlowA.

E' possibile utilizzare questa soluzione anche quando è necessario migrare l'elaborazione dei messaggi tra broker in esecuzione in diverse immagini di sistema z/OS collegate alla stessa funzione di coppia.

Concetti correlati
Panoramica sulla personalizzazione di z/OS
Panoramica sulla serializzazione dei messaggi in z/OS
Serializzazione di input tra gruppi di esecuzione separati in esecuzione sullo stesso broker su z/OS
Serializzazione dell'input all'interno di un gruppo di esecuzione su z/OS
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ae27010_