Utilizzo dei messaggi di controllo nei flussi di aggregazione

Prima di iniziare:

Per completare questa attività, è necessario completare prima quelle che seguono:

Il seguente argomento descrive le azioni richieste per inviare i messaggi di controllo. In WebSphere Message Broker il funzionamento predefinito è che le connessioni tra i nodi AggregateControl e AggregateReply per inviare i messaggi di controllo vengano ignorate. Questa configurazione ottimizza le prestazioni ed elimina la possibilità che i messaggi di risposta vengano ricevuti dal nodo AggregateReply prima del messaggio di controllo. I messaggi di controllo non sono necessari per il corretto funzionamento delle aggregazioni. Tuttavia, se è ancora necessario inviare i messaggi di controllo nei flussi di aggregazione, questa operazione è possibile. Per inviare i messaggi di controllo in un flusso di messaggi creato in WebSphere Message Broker Versione 6.0, consultare Configurazione dei flussi di messaggi per inviare messaggi di controllo e Configurazione di un ambiente broker per inviare messaggi di controllo in questo argomento.

Se i flussi di messaggi sono stati creati nella Versione 5.0 e configurati per utilizzare i messaggi di controllo e si desidera continuare ad utilizzare questi messaggi, consultare Configurazione di un ambiente broker per inviare messaggi di controllo in questo argomento. Le connessioni tra i nodi AggregateControl e AggregateReply create nelle versioni precedenti del prodotto saranno ignorate nella Versione 6.0 a meno che non venga completata questa attività.

Per un esempio operativo dell'aggregazione (senza l'utilizzo dei messaggi di controllo), consultare l'Esempio Prenotazioni per compagnie aeree.

Configurazione dei flussi di messaggi per inviare messaggi di controllo

Per configurare i flussi di messaggi per inviare i messaggi di controllo da un nodo AggregateControl ad un nodo AggregateReply:
  1. Passare alla Prospettiva Sviluppo dell'applicazione broker.
  2. Se i flussi fan-out e fan-in sono stati creati in un singolo flusso di messaggi:
    1. Aprire il flusso di messaggi di aggregazione.
    2. Connettere il terminale control del nodo AggregateControl al terminale control del nodo AggregateReply per eseguire l'associazione.

    A questa connessione si fa riferimento come connessione diretta tra i due nodi di aggregazione.

  3. Se sono stati creati flussi di messaggi fan-out e fan-in separati:
    1. Aprire il flusso di messaggi fan-out.
    2. Configurare il nodo AggregateControl come descritto in Creazione del flusso fan-out di aggregazione.
    3. In questa fase è possibile configurare un nodo Compute che crei un messaggio di output valido contenente il messaggio di controllo. Ad esempio, se si desidera trasmettere il messaggio di controllo ad un nodo MQOutput, configurare il nodo Compute per aggiungere un MQMD al messaggio e completare i campi richiesti in quell'intestazione. Ad esempio, è possibile codificare il seguente ESQL:
      Inizio modifica
      SET OutputRoot.MQMD.StrucId = MQMD_STRUC_ID;
      SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION;
      SET OutputRoot.MQMD.Format = MQFMT_STRING;
      Fine modifica
    4. Configurare un nodo di output che rappresenta la destinazione intermedia per il messaggio di controllo. Ad esempio, se si desidera inviare il messaggio di controllo ad una coda WebSphere MQ intermedia, includere un nodo MQOutput ed identificare la coda di destinazione nelle proprietà Base Nome gestore code e Nome coda.
    5. Connettere il terminale control del nodo AggregateControl al terminale in del nodo Compute e il terminale out del nodo Compute al terminale in del nodo di output che rappresenta la destinazione intermedia per il messaggio di controllo.
    6. Aprire il flusso di messaggi fan-in.
    7. Configurare un nodo di input per ricevere i messaggi di replica, come descritto in Creazione del flusso fan-in di aggregazione. Questo nodo di input riceverà anche le informazioni di controllo dal nodo AggregateControl. Ad esempio, impostare la proprietà Base Nome coda del nodo MQInput per ricevere il messaggio di controllo e di risposta da una coda WebSphere MQ intermedia.
    8. Aggiungere un nodo Filter al flusso fan-in dopo il nodo di input e prima del nodo AggregateReply come descritto nella sezione Come evitare la mancanza di thread nei flussi fan-in.
    9. Connettere il terminale out del nodo di input al terminale in del nodo Filter.
    10. Connettere i terminali out del nodo Filter al terminale control e al terminale in del nodo AggregateReply.

    A questa connessione si fa riferimento come connessione indiretta tra i due nodi di aggregazione.

Configurazione di un ambiente broker per inviare messaggi di controllo

Per impostazione predefinita, in WebSphere Message Broker Versione 6.0 tutte le connessioni dal terminale control del nodo AggregateRequest al nodo AggregateReply vengono ignorate. Affinché queste connessioni siano attive, creare la variabile di ambiente MQSI_AGGR_COMPAT_MODE nell'ambiente del broker. Per impostazione predefinita, la variabile di ambiente non esiste. L'esistenza di tale variabile di ambiente implica che le connessioni dal nodo AggregateControl siano attive, indipendentemente dal valore su cui è impostata la variabile di ambiente.

Se la variabile di ambiente MQSI_AGGR_COMPAT_MODE non è stata creata, viene utilizzato il funzionamento predefinito per i flussi fan-out di aggregazione. Se il terminale control del nodo AggregateControl è connesso, direttamente o indirettamente, al terminale in del nodo AggregateReply, tale connessione sarà ignorata e non verrà inviato alcun messaggio di controllo.

Se la variabile di ambiente MQSI_AGGR_COMPAT_MODE è stata creata, il funzionamento predefinito per i flussi fan-out di aggregazione non sarà utilizzato, consentendo di inviare i messaggi di controllo dal nodo AggregateControl al nodo AggregateReply. Se il terminale Control del nodo AggregateControl è connesso, direttamente o indirettamente, al terminale In del nodo AggregateReply, come descritto in Creazione del flusso fan-out di aggregazione, tale connessione sarà riconosciuta e verrà inviato un messaggio di controllo. Si noti che questa non è la configurazione ottimale e potrebbe avere effetti negativi sulle prestazioni.

Per creare la variabile MQSI_AGGR_COMPAT_MODE in modo da consentire il riconoscimento delle connessioni tra i nodi AggregateControl e AggregateReply:
  • Su Windows:
    1. Aprire le proprietà di sistema: Start > Pannello di controllo > Sistema
    2. Fare clic sulla scheda Avanzate.
    3. Fare clic su Variabili di ambiente.
    4. Nel pannello Variabili di sistema, fare clic su Nuovo.
    5. In Nome variabile immettere MQSI_AGGR_COMPAT_MODE. E' possibile compilare il Valore variabile, se si desidera o lasciarlo vuoto.
    6. Affinché la variabile di ambiente sia attiva è necessario riavviare il computer.
  • Su Linux, UNIX e z/OS:
    1. Modificare il profilo dell'id utente del broker e includere quanto segue: export MQSI_AGGR_COMPAT_MODE=
    2. Caricare nuovamente il profilo.
    3. Riavviare il broker.
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac12312_