Attività MQ - Acquisisci messaggio

Utilizzare l'attività MQ - Acquisisci messaggio per richiamare i messaggi da una coda MQ durante il runtime.

Nota: prima di configurare l'attività, è necessario aver creato un endpoint per l'attività MQ.
L'attività Configura è suddivisa in tre sezioni:

Una volta completate le attività Configura, Associazione di input e Associazione di output dell'attività.

Nota: la dimensione massima dei messaggi è di 100 MByte.

Dettagli della coda e del messaggio

Specificare i dettagli della coda e del messaggio per i campi presenti nella seguente tabella. I campi obbligatori sono contrassegnati con un asterisco.
Campo Descrizione
Nome coda * Specifica il nome della coda MQ da cui il dispositivo di integrazione tenta di richiamare il messaggio.
Timeout L'intervallo di tempo (in secondi) tra la richiesta di richiamo di un messaggio dalla coda da parte dell'attività MQ - Acquisisci messaggio e la restituzione del messaggio, prima che si verifichi un timeout. Se questo periodo di timeout scade e la coda non restituisce alcun messaggio, il dispositivo di integrazione attende che venga eseguito il numero di tentativi specificato prima di tentare di richiamare un messaggio. Per una spiegazione dettagliata dei timeout e delle opzioni dei tentativi, consultare Opzioni Timeout e Riprova.

Per specificare il numero di secondi durante i quali il dispositivo di integrazione deve attendere prima che venga visualizzato un timeout, selezionare l'opzione Dopo e immettere i secondi nel campo Secondi. Per impostazione predefinita, è selezionata l'opzione Mai; questa opzione specifica che il dispositivo di integrazione attende per un tempo indefinito per richiamare un messaggio dalla coda - non è impostato alcun periodo di timeout.

Tipo di dati payload Specifica il tipo di dati del payload del messaggio, binario o stringa.
Frammento schema per intestazione MQRFH2 Specifica se un'intestazione MQRFH2 è inclusa nel messaggio. Se il messaggio include un'intestazione MQRFH2, selezionare questa casella di spunta e fare clic su [...]. Nella finestra di dialogo Cerca elemento tipo di schema individuare lo schema XML che definisce l'intestazione, selezionare l'elemento NameValueData in tale schema XML e fare clic su OK. Il frammento schema è l'elemento NameValueData e tutti i relativi elementi child.
Nota: per poterlo selezionare, lo schema XML che definisce l'intestazione deve essere prima creato e caricato nel progetto. Per ulteriori informazioni, consultare Definizione e caricamento di uno schema XML per un'intestazione MQRFH2.

Regole di consegna

Campo Descrizione
Consegna messaggi Le opzioni qui disponibili dipendono dalla selezione o meno della casella di spunta ID univoci. Se selezionata, tutte e tre le opzioni sono disponibili. In caso contrario, viene visualizzata solo l'opzione Almeno una volta.
  • Almeno una volta -  Specifica che il messaggio viene consegnato almeno una volta, ma è possibile consegnarlo più di una volta. Gli errori relativi alla connessione o al dispositivo di integrazione possono avere come risultato il richiamo dei messaggi e la relativa elaborazione per più di una volta. Questa opzione di consegna viene di solito utilizzata quando il sistema di ricezione può rilevare o tollerare messaggi duplicati.
  • Al massimo una volta - Specifica che il messaggio viene consegnato solo una volta oppure che non viene affatto consegnato. Gli errori relativi alla connessione o al dispositivo di integrazione possono avere come risultato la mancata presenza dei messaggi. Questa opzione di consegna viene di solito utilizzata quando il sistema di ricezione non può tollerare i messaggi duplicati, ma può tollerare quelli persi.
  • Una sola volta -  Specifica che il messaggio viene consegnato una sola volta. Gli errori relativi alla connessione o al dispositivo di integrazione non influenzano la consegna con questa opzione. Il dispositivo di integrazione utilizza gli ID messaggio MQ per assicurarsi che ciascun messaggio venga richiamato ed elaborato una sola volta.
    Nota: se si seleziona l'opzione Una sola volta, è necessario abilitare la persistenza. Per ulteriori informazioni, consultare Abilitazione della persistenza.
Dove i messaggi hanno ID univoci Specifica se i messaggi sulla coda dispongono di ID univoci.

Opzioni dei tentativi

Configurare le opzioni dei tentativi per richiamare un messaggio dalla coda MQ, come descritto nella seguente tabella:

Opzioni dei tentativi Descrizione
1) Attendere __ secondo/i tra un tentativo e l'altro. Il numero di secondi durante i quali il dispositivo di integrazione resta in attesa prima di provare a richiamare un messaggio dalla coda. Per ulteriori informazioni su come questa opzione sia correlata al campo Timeout nel pannello Configura o al parametro di input timeout, consultare Opzioni Timeout e Riprova.
2) Tentare di connettersi ___ volte prima di dare errore. Specifica il numero massimo di volte in cui il dispositivo di integrazione tenta di richiamare un messaggio dalla coda prima di emettere un errore e di arrestare l'elaborazione del lavoro di orchestrazione corrente.

Se si distribuisce un'orchestrazione che contiene un'attività MQ - Acquisisci messaggio e il dispositivo di integrazione non riesce a connettersi al server MQ specificato o non riesce ad acquisire un messaggio dalla coda, il dispositivo di integrazione registra gli errori come avvertenze nei log di sistema e dell'orchestrazione finché non viene raggiunto il valore relativo al numero di tentativi. Una volta raggiunto il numero di tentativi, il dispositivo di integrazione registra un errore nei log di sistema e di orchestrazione e smette di elaborare il lavoro di orchestrazione corrente.

Ad esempio, se si imposta il numero di tentativi su 3, il primo, il secondo e il terzo errore vengono visualizzati nel log di sistema come avvertenze. Il dispositivo di integrazione registra il quarto errore come errore e smette di elaborare il lavoro di orchestrazione corrente.

Per ulteriori informazioni su come questa opzione sia correlata al campo Timeout nel pannello Configura o al parametro di input timeout, consultare Opzioni di timeout e dei tentativi.

Associazione di input

  1. Selezionare l'attività Associa output nell'Elenco di controllo. Viene visualizzato il pannello Riprova.

    I parametri di input dell'attività vengono visualizzati nel pannello A attività.

  2. Tutti i parametri di input dell'attività MQ - Acquisisci messaggio sono facoltativi. Se i parametri di input elencati nella seguente tabella non vengono visualizzati nel pannello A attività del pannello Associa input, selezionare Associa > Mostra parametri facoltativi dal menu della barra degli strumenti oppure fare clic con il tasto destro del mouse nel pannello A attività e selezionare l'opzione Mostra parametri facoltativi. Se l'opzione Associa > Mostra parametri facoltativi non è selezionabile nel menu della barra degli strumenti, fare clic su un nodo nel pannello Associa input per attivare questa opzione.
    È possibile vincolare il tipo di messaggio restituito dall'attività MQ - Acquisisci messaggio associando qualsiasi combinazione dei seguenti nodi del parametro di input mqmdheader facoltativo:
    • mqmdheader/MsgId
    • mqmdheader/CorreId
    • mqmdheader/GroupId
    • mqmdheader/MsgSeqNumber

    Durante il runtime, l'attività viene ripetuta in modo sequenziale nei messaggi presenti nella coda. Se a questi nodi non viene associato alcun elemento, non è presente alcun vincolo, quindi, il primo messaggio nella coda viene restituito dall'attività MQ - Acquisisci messaggio e viene elaborata l'attività successiva nell'orchestrazione.

    Se uno qualsiasi di questi nodi viene associato, durante il runtime l'attività MQ - Acquisisci messaggio viene ripetuta in ciascun messaggio nella coda finché non individua il primo messaggio che corrisponde ai valori di runtime di tutti i nodi associati. Il primo messaggio corrispondente viene restituito dall'attività MQ - Acquisisci messaggio e viene elaborata l'attività successiva nell'orchestrazione.

    Ad esempio, nell'attività Associa input, mqmdheader/MsgId viene associato alla stringa denominata msgId e il valore predefinito largeOrders viene specificato per mqmdheader/GroupId, come mostrato nella seguente figura:
    Durante il runtime, l'attività MQ - Acquisisci messaggio restituisce il primo messaggio nella coda che soddisfa entrambe le seguenti condizioni:
    • Il valore di runtime specificato della variabile di tipo stringa denominata msgId è uguale all'ID del messaggio nella coda.
    • L'ID del gruppo del messaggio è uguale a largeOrders.

    Facoltativamente, è possibile sovrascrivere dinamicamente le impostazioni specificate per Nome coda e Timeout nell'attività Configura dell'Elenco di controllo durante il runtime, utilizzando i parametri di input definiti nella seguente tabella.

    Ad esempio, il nome della coda MQ viene impostata, nell'attività Configura, su poqueue. Durante il runtime, il nome della coda MQ: newqueue viene trasmesso all'attività utilizzando il parametro di input queuename. Il nome della coda specificato dinamicamente durante il runtime sovrascrive l'impostazione originale specificata nel pannello Configura. In questo esempio, il dispositivo di integrazione cerca i messaggi nella coda MQ denominata newqueue.

    Parametri di input facoltativi che sovrascrivono le impostazioni nell'attività Configura
    Nodo/Nome parametro di input Descrizione Sovrascrive l'impostazione nell'attività?
    timeout Specifica l'intervallo di tempo durante il quale il dispositivo di integrazione attende dopo aver richiamato un messaggio dalla coda prima di ritentare.

    Se non si desidera impostare un periodo di timeout, specificare un numero negativo — il dispositivo di integrazione attende per un tempo indefinito per richiamare un messaggio dalla coda. La specifica di un numero negativo equivale alla specifica dell'opzione Mai nell'attività Configura.

    Il parametro di input timeout sovrascrive il campo Timeout dell'attività Configura.
    queuename Specifica il nome della coda MQ in cui il dispositivo di integrazione cerca i messaggi. Il parametro di input queuename sovrascrive la codifica specificata nel campo Nome coda dell'attività Configura.

    Per istruzioni generiche relative alle associazioni, consultare Creazione di un'associazione.

Associazione di output

Non è necessario associare i parametri di output per questa attività. Per istruzioni generiche relative alle associazioni, consultare Creazione di un'associazione.

Opzioni Timeout e Riprova

Il timeout specificato nel campo Timeout nell'attività Configura o il parametro di input timeout specifica l'intervallo di tempo, in secondi, che deve trascorrere tra la richiesta di richiamo di un messaggio dalla coda da parte dell'attività MQ - Acquisisci messaggio e la restituzione del messaggio, prima che si verifichi un timeout. Se questo periodo di timeout scade e la coda non restituisce alcun messaggio, il dispositivo di integrazione attende che trascorra l'intervallo di tempo specificato nell'opzione 1) Attendere ___ secondo/i tra un tentativo e l'altro prima di tentare di richiamare di nuovo un messaggio. Il dispositivo di integrazione continua a tentare di richiamare il messaggio fino a quando non viene raggiunto il numero specificato di tentativi. Il numero di tentativi è specificato con l'opzione 2) Tentare di connettersi ___ volte prima di dare errore. Le opzioni 1) Attendere ___ secondo/i tra un tentativo e l'altro e 2) Tentare di connettersi ___ volte prima di dare errore sono specificate nell'attività Opzioni dei tentativi.

Ad esempio, un'attività MQ - Acquisisci messaggio viene configurata con le seguenti opzioni:
  • Il campo Timeout nell'attività Configura è impostato su 10 secondi, il parametro di input timeout facoltativo non è associato e non è specificato alcun valore predefinito.
  • L'opzione 1) Attendere ___ secondo/i tra un tentativo e l'altro è impostata su 15 secondi.
  • L'opzione 2) Tentare di connettersi ___ volte prima di dare errore è impostata su 2.
Durante il runtime, se l'attività MQ - Acquisisci messaggio non riesce, in modo continuato, a richiamare un messaggio dalla coda, viene ripetuta come mostrato nella seguente figura: