Nodo MQOutput

Questo argomento contiene le seguenti sezioni:

Scopo

Utilizzare il nodo MQOutput per inviare i messaggi ai client che si collegano al broker utilizzando WebSphere MQ Enterprise Transport e che utilizzano le API MQI e AMI.

Il nodo MQOutput inoltra un messaggio di output da un flusso di messaggi ad una coda WebSphere MQ. Il nodo utilizza MQPUT per inserire il messaggio nella coda o nelle code di destinazione specificate.

Se appropriato, è possibile definire la coda come coda cluster o coda condivisa WebSphere MQ. Quando si utilizza una coda cluster WebSphere MQ, lasciare il nome del gestore code vuoto.

E' possibile configurare il nodo MQOutput in modo che inserisca un messaggio in una coda WebSphere MQ specifica, definita su qualunque gestore code accessibile dal gestore code del brokero sulle destinazioni identificate nel LocalEnvironment (noto anche come DestinationList) associato al messaggio.

E' possibile impostare altre proprietà per controllare come vengono inviati i messaggi, facendo sì che vengano specificate le opzioni MQPUT appropriate. Ad esempio, è possibile richiedere che un messaggio venga elaborato sotto il controllo della transazione. E' possibile anche specificare che WebSphere MQ possa, se appropriato, suddividere il messaggio in segmenti nel gestore code.

Se si crea un flusso di messaggi da utilizzare come flusso secondario, non è possibile utilizzare un nodo di output standard, è necessario utilizzare un'istanza del nodo Output per creare un terminale out per il flusso secondario attraverso cui trasmettere il messaggio.

Se non si desidera che il flusso di messaggi invii messaggi ad una coda WebSphere MQ, si può scegliere un altro nodo di output supportato.

Il nodo MQOutput è rappresentato nel workbench dalla seguente icona:

Icona del nodo MQOutput

Utilizzo di questo nodo in un flusso di messaggi

Fare riferimento ai seguenti esempi per capire come utilizzare questo nodo:

Per un'esemplificazione della modalità di utilizzo di questo nodo, ipotizziamo che si sia scritta un'applicazione di pubblicazione che pubblichi regolarmente aggiornamenti del magazzino. L'applicazione invia i messaggi al broker su un nodo MQInput e il flusso di messaggi rende disponibili le pubblicazioni a più sottoscrittori attraverso un nodo Publication. Si configura un nodo Compute per creare un nuovo messaggio di output ogni volta che si modifica un magazzino particolare e trasmetterlo via cavo ad un nodo MQOutput per registrare ogni modifica di prezzo per questo magazzino.

Configurazione del nodo MQOutput

Una volta inserita un'istanza del nodo MQOutput in un flusso di messaggi, è possibile configurarla. Fare clic con il tasto destro del mouse sul nodo nella vista dell'editor e fare clic su Proprietà. Vengono visualizzate le proprietà base del nodo.

Tutte le proprietà obbligatorie, per le quali è necessario immettere un valore (quelle per le quali non è specificato un valore predefinito), sono contrassegnate con un asterisco nella finestra di dialogo delle proprietà.

Configurare il nodo MQOutput come segue:

  1. Se si desidera inviare un messaggio di output ad una singola coda di destinazione definita da questo nodo, immettere il nome della coda a cui il flusso di messaggi invia i messaggi in Nome coda. Immettere il nome del gestore code su cui è definita questa coda in Nome gestore code. E' necessario impostare queste proprietà se si imposta la proprietà Avanzata Modalità destinazione (descritta di seguito) su Nome coda. Se si imposta Modalità destinazione su un altro valore, queste proprietà sono ignorate.
  2. Selezionare Avanzate nel Navigator della finestra di dialogo delle proprietà. Queste proprietà definiscono il controllo transazionale per il messaggio e il modo in cui viene inserito il messaggio nella coda. Molte di queste proprietà corrispondono alle opzioni nella chiamata MQPUT.
    • Selezionare Modalità destinazione dall'elenco a discesa. Questa proprietà identifica le code in cui è inserito il messaggio di output.
      • Nome coda. Il messaggio è inviato alla coda denominata nella proprietà Nome coda. Le proprietà Nome gestore code e Nome coda (sulla scheda Base) sono obbligatorie se si seleziona questa opzione. Questo è il valore predefinito.
      • Coda di risposta a. Il messaggio è inviato alla coda denominata nel campo ReplyToQ in MQMD.
      • Elenco di destinazioni. Il messaggio è inviato all'elenco di code denominato nel LocalEnvironment (anche noto come DestinationList) associato al messaggio.
    • Selezionare Modalità transazione dall'elenco a discesa per stabilire come è inserito il messaggio.
      • Se si seleziona Automatico (impostazione predefinita), la transazionalità del messaggio deriva dal modo in cui è stata specificata nel nodo di input.
      • Se si seleziona , il messaggio è inserito in modo transazionale.
      • Se si seleziona No, il messaggio è inserito in modo non transazionale.
      Consultare Configurazione delle transazioni coordinate per ulteriori informazioni.
    • Selezionare Modalità permanenza dall'elenco a discesa per stabilire se il messaggio è inserito in modo permanente.
      • Se si seleziona Automatico (impostazione predefinita), la permanenza è quella specificata nel messaggio in entrata.
      • Se si seleziona , il messaggio è inserito in modo permanente.
      • Se si seleziona No, il messaggio è inserito in modo non permanente.
      • Se si seleziona Come definito per la coda, la permanenza del messaggio è impostata come quella definita per la coda WebSphere MQ.
    • Selezionare la casella di spunta Nuovo ID messaggio per generare un nuovo ID del messaggio per questo messaggio. Questo corrisponde all'opzione MQPMO_NEW_MSG_ID di MQPMO dell'MQI.

      Deselezionare la casella di spunta se non si desidera generare un nuovo ID. Si noti che un nuovo ID del messaggio viene ancora generato se si seleziona la casella di spunta Richiesta nel pannello Richiesta della finestra di dialogo delle proprietà.

      Ulteriori informazioni sulle opzioni legate a questa proprietà sono disponibili nel manuale WebSphere MQ Application Programming Reference.

    • Selezionare la casella di spunta Nuovo ID correlazione per generare un nuovo ID correlazione per questo messaggio. Questo corrisponde all'opzione MQPMO_NEW_CORREL_ID di MQPMO dell'MQI. Deselezionare la casella di spunta se non si desidera generare un nuovo ID.

      Ulteriori informazioni sulle opzioni legate a questa proprietà sono disponibili nel manuale WebSphere MQ Application Programming Reference.

    • Selezionare la casella di spunta Segmentazione consentita se si desidera che WebSphere MQ segmenti il messaggio all'interno del gestore code quando appropriato. E' necessario anche impostare MQMF_SEGMENTATION_ALLOWED nel campo MsgFlags in MQMD affinché si verifichi la segmentazione. Deselezionare la casella di spunta se non si desidera la segmentazione.

      Ulteriori informazioni sulle opzioni legate a questa proprietà sono disponibili nel manuale WebSphere MQ Application Programming Reference.

    • Selezionare Contesto messaggio per indicare come gestire il contesto di origine. Scegliere una delle seguenti opzioni:
      • Approva tutto (corrisponde all'opzione MQPMO_PASS_ALL_CONTEXT di MQPMO dell'MQI.)
      • Approva identità (corrisponde all'opzione MQPMO_PASS_IDENTITY_CONTEXT di MQPMO dell'MQI.)
      • Imposta tutto (corrisponde all'opzione MQPMO_SET_ALL_CONTEXT di MQPMO dell'MQI.)
      • Imposta identità (corrisponde all'opzione MQPMO_SET_IDENTITY_CONTEXT di MQPMO dell'MQI.)
      • Predefinito (corrisponde all'opzione MQPMO_DEFAULT_CONTEXT di MQPMO dell'MQI.)
      • Nessuno (corrisponde all'opzione MQPMO_NO_CONTEXT di MQPMO dell'MQI.)

      Ulteriori informazioni sulle opzioni legate a queste proprietà sono disponibili nel manuale WebSphere MQ Application Programming Reference.

    • Selezionare la casella di spunta Autorizzazione utente alternativo se si desidera che l'opzione MQOO_ALTERNATE_USER_AUTHORITY sia impostata nelle opzioni aperte (MQOO) dell'MQI. Se si seleziona questa casella, questa opzione viene specificata quando si apre la coda per l'output. Le informazioni relative all'utente alternativo sono richiamate dalle informazioni relative al contesto nel messaggio. Deselezionare la casella di spunta se non si desidera specificare l'autorizzazione utente alternativo. Se si deseleziona la casella, l'ID utente del servizio broker viene utilizzato quando il messaggio viene inviato.
  3. Selezionare Richiesta nel Navigator della finestra di dialogo delle proprietà e impostare le proprietà in modo da definire le caratteristiche di ogni messaggio di output generato.
    • Selezionare la casella di spunta Richiesta per contrassegnare ogni messaggio di output in MQMD come messaggio di richiesta (MQMT_REQUEST) e deselezionare il campo dell'identificativo del messaggio (impostato su MQMI_NONE) per garantire che WebSphere MQ generi un nuovo identificativo. Deselezionare la casella di spunta per indicare che ogni messaggio di output non venga contrassegnato come messaggio di richiesta. Non è possibile selezionare questa casella di spunta se è stata selezionata Modalità destinazione Coda di risposta a.

      Si noti che un nuovo identificativo del messaggio viene generato anche se la casella di spunta Nuovo ID messaggio non è selezionata nel pannello Avanzate del Navigator della finestra di dialogo delle proprietà.

    • Immettere un nome gestore code in Gestore code di risposta a. Questo viene inserito nell'MQMD di ogni messaggio di output come gestore code di risposta a.
    • Immettere un nome coda in Coda di risposta a. Questo valore viene inserito nell'MQMD di ogni messaggio di output come coda di risposta a.
  4. Selezionare Convalida nel Navigator della finestra di dialogo delle proprietà se si desidera che il programma di analisi MRM convalidi il contenuto dei messaggi rispetto al dizionario generato dalla serie di messaggi. (Se un messaggio è trasmesso al terminale failure del nodo, non viene convalidato.)

    Per ulteriori dettagli fare riferimento a Convalida dei messaggi e Proprietà della convalida per i messaggi nel dominio MRM.

  5. Selezionare Descrizione nel Navigator della finestra di dialogo delle proprietà per immettere una descrizione breve, una descrizione completa o entrambe.
  6. Fare clic su Applica per effettuare le modifiche al nodo MQOutput senza chiudere la finestra di dialogo delle proprietà. Fare clic su OK per applicare le modifiche e chiudere la finestra di dialogo delle proprietà.

    Fare clic su Annulla per chiudere la finestra di dialogo ed eliminare tutte le modifiche apportate alle proprietà.

Connessione dei terminali

Connettere il terminale in al nodo da cui sono instradati i messaggi in uscita.

Connettere il terminale out o failure di questo nodo ad un altro nodo in questo flusso di messaggi se si desidera elaborare ulteriormente il messaggio, elaborare errori o inviare il messaggio ad una destinazione aggiuntiva.

Se si connette uno di questi terminali di output ad un altro nodo nel flusso di messaggi, la struttura ad albero LocalEnvironment associata al messaggio viene arricchita con le seguenti informazioni per ogni destinazione in cui questo nodo ha inserito il messaggio:

  • Nome coda
  • Nome gestore code
  • Identificativo replica del messaggio (impostato sullo stesso valore dell'ID del messaggio)
  • ID Messaggio (da MQMD)
  • ID correlazione (da MQMD)

Questi valori sono scritti in WrittenDestination all'interno della struttura ad albero LocalEnvironment.

Se non si connette alcun terminale, la struttura ad albero LocalEnvironment rimane immutata.

Se si utilizza l'aggregazione nei flussi di messaggi, è necessario utilizzare i terminali out.

Configurazione delle transazioni coordinate

Quando si definisce un nodo MQOutput, l'opzione che si seleziona per la proprietà Modalità transazione definisce l'eventuale scrittura del messaggio nel punto di sincronizzazione:

  • Se si seleziona , il messaggio è scritto nel punto di sincronizzazione (cioè, all'interno di un'unità di lavoro WebSphere MQ).
  • Se si seleziona Automatico (valore predefinito), il messaggio è scritto nel punto di sincronizzazione, se il messaggio di input in entrata è contrassegnato come permanente.
  • Se si seleziona No, il messaggio non è scritto nel punto di sincronizzazione.

Un'altra proprietà del nodo MQOutput, Modalità permanenza, definisce se il messaggio di output è contrassegnato come permanente quando è inserito nella coda di output:

  • Se si seleziona , il messaggio è contrassegnato come permanente.
  • Se si seleziona Automatico (valore predefinito), la permanenza del messaggio è determinata dalle proprietà del messaggio in entrata, in base all'impostazione in MQMD (il descrittore del messaggio WebSphere MQ).
  • Se si seleziona No, il messaggio non è contrassegnato come permanente.
  • Se si seleziona Come definito per la coda, la permanenza del messaggio è impostata come definito nella coda WebSphere MQ dal nodo MQOutput specificando l'opzione MQPER_PERSISTENCE_AS_Q_DEF in MQMD.

Terminali e proprietà

I terminali del nodo MQOutput sono descritti nella seguente tabella.

Terminale Descrizione
In Il terminale di input che accetta un messaggio affinché venga elaborato dal nodo.
Failure Il terminale di output a cui è instradato il messaggio se si rileva un errore quando il messaggio è inserito nella coda di output.
Out Il terminale di output a cui il messaggio è instradato se è stato inserito nella coda di output con esito positivo e se è richiesta ulteriore elaborazione all'interno di questo flusso di messaggi.

Le seguenti tabelle descrivono le proprietà del nodo; la colonna con l'intestazione O indica se la proprietà è obbligatoria (contrassegnata con un asterisco nella finestra di dialogo delle proprietà, se è necessario immettere un valore quando non è specificato un valore predefinito), la colonna con l'intestazione C indica se la proprietà è configurabile (è possibile modificare il valore quando si aggiunge un flusso di messaggi a un file bar per distribuirlo).

Le proprietà base del nodo MQOutput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Nome gestore code No   Il nome del gestore code WebSphere MQ in cui è definita la coda di output, specificata in Nome coda.
Nome coda No   Il nome della coda di output WebSphere MQ in cui questo nodo inserisce i messaggi (utilizzando MQPUT).

Le proprietà Avanzate del nodo MQOutput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Modalità destinazione No Nome coda Le code a cui è inviato il messaggio di output. I valori validi sono Elenco di destinazioni, Coda di risposta a e Nome coda.
Modalità transazione No Automatico Indica se il messaggio è inserito in modo transazionale. I valori validi sono Automatico, e No.
Modalità permanenza No Automatico Indica se il messaggio è inserito in modo permanente. I valori validi sono Automatico, , No e Come definito per la coda.
Nuovo ID messaggio No Deselezionata Indica se WebSphere MQ genera un nuovo identificativo del messaggio per sostituire il contenuto del campo MsgId in MQMD. Questa azione viene eseguita se si seleziona la casella di spunta.
Nuovo ID correlazione No Deselezionata Indica se WebSphere MQ genera un nuovo identificativo correlazione per sostituire il contenuto del campo CorrelId in MQMD. Questa azione viene eseguita se si seleziona la casella di spunta.
Segmentazione consentita No Deselezionata Se appropriato, WebSphere MQ suddivide il messaggio in segmenti nel gestore code. Questa azione viene eseguita se si seleziona la casella di spunta.
Contesto messaggio No Approva tutto Indica come gestire il contesto di origine. I valori validi sono Approva tutto, Approva identità, Imposta tutto, Imposta identità e Predefinito.
Autorizzazione utente alternativo No Deselezionata Indica se l'autorizzazione alternativa viene utilizzata quando è inserito il messaggio di output. Questa azione viene eseguita se si seleziona la casella di spunta.

Le proprietà Richiesta del nodo MQOutput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Richiesta No Deselezionata Indica se generare ogni messaggio di output come un messaggio di richiesta. Questa azione viene eseguita se si seleziona la casella di spunta.
Gestore code di risposta a No   Il nome del gestore code WebSphere MQ in cui è definita la coda di output, specificata in Coda di risposta a.
Coda di risposta a No   Il nome della coda WebSphere MQ in cui inserire una replica a questa richiesta.

Le proprietà Convalida del nodo MQOutput sono descritte nella seguente tabella.

Fare riferimento a Proprietà della convalida per i messaggi nel dominio MRM per una descrizione completa di queste proprietà.

Proprietà O C Valore predefinito Descrizione
Convalida Eredita Indica se viene effettuata la convalida. I valori validi sono Nessuno, Contenuto e valore, Contenuto ed Eredita.
Azione in caso di errore No Eccezione Indica cosa accade se la convalida ha esito negativo. E' possibile impostare questa proprietà solo se si imposta Convalida su Contenuto o Contenuto e valore. I valori validi sono Traccia utente, Registrazione errori locale, Eccezione ed Elenco di eccezioni.
Includi tutti i vincoli valore No Selezionata Questa proprietà non può essere modificata. L'azione predefinita, indicata dalla casella di spunta selezionata, è che i controlli del vincolo del valore base sono inclusi nella convalida Contenuto e valore.
Correzione No Nessuno Questa proprietà non può essere modificata.

Le proprietà Descrizione del nodo MQOutput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Descrizione breve No No   Una breve descrizione del nodo.
Descrizione completa No No   Testo che descrive lo scopo del nodo nel flusso di messaggi.
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac04570_