Il presente argomento contiene le seguenti sezioni:
Utilizzare il nodo JMSInput per ricevere i messaggi dalle destinazioni JMS. Alle destinazioni JMS è possibile accedere mediante una connessione con un provider JMS. Il nodo JMSInput funziona da cliente del messaggio JMS ed è in grado di ricevere tutti i sei tipi di messaggi definiti in Java Message Service Specification, version 1.1. I messaggi vengono ricevuti utilizzando le chiamate di metodo descritte nella specifica JMS.
Il nodo JMSInput è rappresentato in workbench dalla seguente icona:
Il nodo JMSInput riceve e trasmette i messaggi con un albero dei messaggi JMS. E' possibile impostare il controllo della modalità di ricezione dei messaggi JMS mediante le proprietà del nodo JMSInput.
Il nodo JMSInput gestisce i messaggi nei domini riportati di seguito.
E' necessario che i flussi di messaggi, utili per gestire i messaggi ricevuti da connessioni a provider JMS, comincino sempre con un nodo JMSInput. Se viene incluso un nodo di output in un flusso di messaggi che inizia con un nodo JMSInput, è possibile che sia uno qualsiasi dei nodi di output supportati (inclusi i nodi di output definiti dall'utente); non è necessario includere un nodo JMSOutput. Se, tuttavia, non si include un nodo JMSOutput, è necessario includere il nodo JMSMQTransform per trasformare il messaggio nel formato previsto dal nodo di output.
Se sono in corso la trasmissione di messaggi JMS e la creazione di un flusso di messaggi da utilizzare come flusso secondario, non è possibile utilizzare un nodo di input standard; è necessario utilizzare un'istanza del nodo JMSInput come primo nodo per creare un terminale interno per il flusso secondario.
Per le piattaforme distribuite, copiare i file java .jar e le librerie native del client del provider JMS in una directory a classi condivise del broker. Ad esempio, in Windows, C:\Documents and Settings\All Users\Application Data\IBM\MQSI\shared-classes. In questo modo viene impostato in modo corretto il percorso della classe java per i nodi JMS.
In z/OS, non è disponibile una directory a classi condivise. È invece necessario specificare ciascun file .jar java del provider JMS nel percorso della classe nel membro BIPPROF del PDS (Partitioned Data Set) del broker. Aggiornare quindi LIBPATH con una libreria nativa qualsiasi e inoltrare il processo BIPGEN JCL per aggiornare il broker ENVFILE.
Quando si inserisce un'istanza del nodo JMSInput 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à. Nella finestra di dialogo delle proprietà vengono visualizzate le proprietà di base del nodo.
Tutte le proprietà obbligatorie che non dispongono di un valore predefinito vengono contrassegnate con un asterisco nella finestra di dialogo delle proprietà.
Configurare il nodo JMSInput come riportato di seguito.
com.sun.jndi.fscontext.RefFSContextFactory, che definisce il produttore del contesto iniziale basato su file per il WebSphere MQ provider JMS.
Per individuare il nome del produttore del contesto iniziale per il provider JMS, fare riferimento alla documentazione del provider JMS.
Quando viene immesso un valore per Ubicazione associazione JNDI, accertarsi che sia compatibile con le istruzioni riportate di seguito.
Per informazioni sulla creazione di file di associazione di oggetti di gestione JNDI, fare riferimento alla documentazione fornita con il provider JMS.
Lasciare il campo Serie di messaggi vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME e BLOB.
Lasciare il campo Tipo messaggio vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME, BLOB e IDOC.
Lasciare vuoto il campo Formato del messaggio per i programmi di analisi XML, XMLNS, XMLNSC, JMSMap, JMSStream, MIME e BLOB.
Lasciare vuota questa proprietà se non si desidera selezionare il nodo di input sulla base della proprietà dell'applicazione. Per una descrizione della modalità di creazione del selettore di messaggio fare riferimento a Selettori del messaggio JMS.
Lasciare vuota questa proprietà se non si desidera che il nodo di input selezionato sia basato su JMSTimeStamp.
I valori validi per la priorità del messaggio sono compresi tra 0 (valore minimo) e 9 (valore massimo). Ad esempio, è possibile immettere 5 per ricevere messaggi di priorità 5. È inoltre possibile qualificare il selettore; ad esempio > 4 per ricevere messaggi con una priorità superiore a 4 o BETWEEN 4 AND 8 per ricevere messaggi con una priorità compresa tra 4 e 8.
Lasciare vuota questa proprietà se non si desidera che il nodo di input selezionato sia basato su JMSPriority.
Immettere un ID messaggio specifico oppure un selettore condizionale; ad esempio, immettere > WMBRK123456 per restituire i messaggi in cui l'ID messaggio è superiore a WMBRK123456.
Lasciare vuota questa proprietà se non si desidera che il nodo di input effettui una selezione in base a JMSMessageID.
Immettere FALSE se il nodo di input accetta solo i messaggi che non sono stati riconsegnati dal provider JMS.
Immettere TRUE se il nodo di input accetta solo i messaggi che sono stati riconsegnati dal provider JMS.
Lasciare vuota questa proprietà se non si desidera che il nodo di input effettui una selezione in base a JMSRedelivered.
Immettere un ID di correlazione specifico oppure immettere una stringa di condizione; ad esempio, WMBRKABCDEFG restituisce messaggi con un ID di correlazione che corrisponde a tale valore.
Lasciare vuota questa proprietà se non si desidera che il nodo di input effettui una selezione in base a JMSCorrelationID.
Per ulteriori dettagli, fare riferimento a Convalida dei messaggi e Proprietà della convalida per i messaggi nel dominio MRM.
Se tale valore viene impostato su Immediato, l'analisi parziale viene sostituita e viene analizzato e convalidato il messaggio completo, ad esclusione dei tipi complessi di messaggio o scelta di composizione che non è possibile risolvere al momento.
Se tale proprietà viene impostata su Completo, l'analisi parziale viene sostituita e viene analizzato e convalidato il messaggio completo; i tipi complessi di messaggio o scelta di composizione che non è possibile risolvere al momento provocano un errore di convalida.
Se si desidera utilizzare il programma di analisi compatto XMLNSC per il dominio XMLNS, selezionare la casella di spunta.
Per Modalità di mantenimento contenuto misto, Modalità di mantenimento commenti e Modalità di mantenimento delle istruzioni di elaborazione, nelle caselle a discesa sono disponibili le seguenti opzioni.
Fare clic su Annulla per chiudere la finestra di dialogo ed eliminare le modifiche effettuate nelle proprietà.
Il nodo JMSInput instrada ciascun messaggio ricevuto con esito positivo al terminale esterno. Se tale operazione ha esito negativo, verrà effettuato un nuovo tentativo. Se viene raggiunta la soglia dei tentativi disponibili, dove la soglia viene definita dall'attributo BackoutThreshold del nodo, il messaggio viene instradato al terminale di errore.
E' possibile connettere i nodi al terminale di errore per gestire tale condizione. Se i nodi non sono stati connessi al terminale di errore, il messaggio viene scritto nella destinazione di backout. Se non viene fornita una destinazione di backout, viene emesso un messaggio di errore e il nodo arresta l'elaborazione di ulteriori immissioni. Il messaggio di errore è bip4669.
Se il messaggio viene rilevato dal nodo JMSInput dopo che è stata generata un'eccezione in un'altra parte parte del flusso di messaggi, il messaggio verrà instradato al terminale catch. Se non sono stati connessi nodi al terminale catch, il nodo effettuerà il backout del messaggio per la successiva consegna fino alla risoluzione del problema o al raggiungimento della soglia di backout.
E' necessario definire una destinazione di backout. Se non viene definita una destinazione di backout, il nodo emette un messaggio di errore bip4669 e arresta l'elaborazione di ulteriori immissioni.
Quando viene incluso un nodo JMSInput in un flusso di messaggi, il valore impostato per Modalità transazione definisce se i messaggi vengono ricevuti nel punto di sincronizzazione.
E' possibile che il provider JMS fornisca file jar aggiuntivi necessari per il supporto di transazione. Fare riferimento alla documentazione del provider JMS. Ad esempio, su piattaforme distribuite (non z/OS), il provider JMS di WebSphere MQ fornisce un file jar aggiuntivo com.ibm,mqetclient.jar. E' necessario aggiungere tale file jar alla directory shared_classes del broker. Fare riferimento a Disponibilità del client del provider JMS per i nodi JMS su questo argomento.
install_dir/bin/ JMSSwitch.dll XAOpenString=Contesto Iniziale,Ubicazione JNDI,Optional_parms ThreadOfControl=THREAD
XAResourceManager: Name=Jms_Provider_Name SwitchFile=/install_dir/bin/ JMSSwitch.so XAOpenString=Contesto Iniziale,Ubicazione JNDI,Optional_parms ThreadOfControl=THREADDove:
Name è un nome di installazione definito che identifica una Gestione risorse del provider JMS.
SwitchFile è il percorso del file system nella libreria JMSSwitch fornita nella directory bin del broker.
I parametri facoltativi sono separati da virgole e posizionali. Quindi, qualsiasi parametro mancante verrà rappresentato da una virgola.
install_dir/classes/xarecovery.jar
install_dir/bin
Non è possibile utilizzare lo stesso gestore code per il broker e il provider mediante XA nelle versioni precedenti a WebSphere MQ versione 5.3, CSD12 e WebSphere MQ versione 6 FixPack 1.
Il controllo del punto di sincronizzazione per il provider JMS è gestito mediante la coordinazione del punto di sincronizzazione RRS del gestore code del broker. Non è necessario modificare il file .ini.
Nella tabella riportata di seguito vengono descritti i terminali del nodo JMSInput.
Terminale | Descrizione |
---|---|
Errore | Si tratta del terminale di output al quale viene instradato il messaggio in caso di errore. Anche se è impostata la proprietà Convalida, i messaggi trasmessi a tale terminale non vengono convalidati. |
Esterno | Il terminale di output a cui è instradato il messaggio, se è richiamato con esito positivo dalla coda WebSphere MQ. |
Rileva | Si tratta del terminale di output al quale viene instradato il messaggio se viene generata un'eccezione Downstream rilevata dal nodo. |
Nelle tabelle riportate di seguito vengono descritte 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 ne è presente uno per impostazione predefinita), la colonna con l'intestazione C indica se la proprietà è configurabile (è possibile modificare il valore quando si aggiunge il flusso di messaggi al file bar per la relativa distribuzione).
Nella tabella riportata di seguito vengono descritte le proprietà Base del nodo JMSInput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Produttore contesto iniziale | Sì | com.sun.jndi.fscontext.RefFSContextFactory | Si tratta del punto di avvio per uno spazio dei nomi JNDI. Un'applicazione JMS utilizza il contesto iniziale per ottenere e cercare la coda e il produttore di connessione o gli oggetti argomento
per il provider JMS. Il valore predefinito è quello utilizzato quando il Java WebSphere MQ viene utilizzato come provider JMS. |
|
Ubicazione associazione JNDI | Sì | Si tratta del percorso di sistema o dell'ubicazione LDAP per i file di associazione. | ||
Nome produttore connessione | Sì | Il nome del produttore connessione utilizzato dal nodo JMSInput per creare una connessione al provider JMS. | ||
Destinazione di backout | No | La destinazione utilizzata dal nodo JMSInput quando non è possibile elaborare un messaggio mediante il flusso di messaggi perché nel messaggio sono presenti errori. | ||
Soglia di backout | No | 0 | Il valore che controlla quando un messaggio riconsegnato viene inserito nella destinazione di backout. |
Nella tabella riportata di seguito vengono descritte le proprietà predefinite del nodo JMSInput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Dominio messaggi | No | No | Il dominio da utilizzare per l'analisi del messaggio in entrata. | |
Serie di messaggi | No | No | Il nome o identificativo della serie di messaggi in cui viene definito il messaggio in entrata. | |
Tipo messaggio | No | No | Il nome del messaggio in entrata. | |
Formato del messaggio | No | No | Il nome del formato fisico del messaggio in entrata. |
Nella tabella riportata di seguito vengono descritte le proprietà di pubblicazione/sottoscrizione del nodo JMSInput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Argomento di sottoscrizione | No | No | Il nome dell'argomento al quale è iscritto il nodo. | |
ID sottoscrittore duraturo | No | No | L'identificativo per un argomento di sottoscrizione duraturo. |
Nella tabella riportata di seguito vengono descritte le proprietà point to point del nodo JMSInput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Coda di origine | Il nome della coda dalla quale il nodo recupera il messaggio in entrata. |
Nella tabella riportata di seguito vengono descritte le proprietà dei selettori del messaggio del nodo JMSInput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Proprietà dell'applicazione | No | Il selettore di messaggio che verrà utilizzato per filtrare i messaggi secondo il valore della proprietà dell'applicazione. | ||
Data/ora | No | Il selettore di messaggio che verrà utilizzato per filtrare i messaggi secondo il valore della proprietà JMSTimestamp. | ||
Modalità di consegna | No | Il selettore di messaggio che verrà utilizzato per filtrare i messaggi secondo la modalità di consegna del messaggio. | ||
Priorità | No | Il selettore di messaggio che verrà utilizzato per filtrare i messaggi secondo la priorità del messaggio. | ||
ID messaggio | No | Il selettore di messaggio che verrà utilizzato per filtrare i messaggi secondo l'ID messaggio. | ||
ID di correlazione | No | Il selettore di messaggio che verrà utilizzato per filtrare i messaggi secondo l'ID di correlazione. |
Nella tabella riportata di seguito vengono descritte le proprietà avanzate del nodo JMSInput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Modalità transazione | Sì | No | Nessuno | Questa proprietà viene utilizzata per determinare se il messaggio in entrata viene ricevuto nel punto di sincronizzazione esterno, locale o non è sincronizzato. I valori validi sono Nessuno, locale e globale. |
Nella tabella riportata di seguito vengono descritte le proprietà di convalida del nodo JMSInput.
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 | Sì | Sì | Nessuno | Questa proprietà determina se viene effettuata la convalida. I valori validi sono Nessuno, Contenuto e Contenuto e valore. |
Azione in caso di errore | Sì | No | Eccezione | Questa proprietà determina cosa succede se la convalida ha esito negativo. E' possibile configurare questa proprietà soltanto se la proprietà Convalida viene impostata su Contenuto o Contenuto e valore. I valori validi sono Traccia utente, Registrazione errori in locale, Eccezione ed Elenco di eccezioni. |
Includi tutti i vincoli valore | Sì | No | Selezionato | Non è possibile modificare questa proprietà. L'azione predefinita, indicata mediante la selezione della relativa casella di spunta, corrisponde all'inclusione dei vincoli dei valori di base nella convalida Contenuto e valore. |
Correzione | Sì | No | Nessuno | Non è possibile modificare questa proprietà. |
Nella tabella riportata di seguito vengono descritte le proprietà delle opzioni messaggio generali del nodo JMSInput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Intervallo di analisi | Sì | No | Su richiesta | Mediante questa proprietà è possibile controllare quando un messaggio di entrata viene analizzato.
I valori validi sono Su richiesta, Immediata e Completa. Fare riferimento ad Analisi su richiesta per una descrizione completa di questa proprietà. |
Nella tabella riportata di seguito vengono descritte le proprietà delle opzioni del programma di analisi XMLNSC del nodo JMSInput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Utilizza programma di analisi compatto XMLNSC per il dominio XMLNS | Sì | Deselezionata | No | ![]() ![]() |
Modalità di mantenimento contenuto misto | Sì | No | Nessuno | Mediante questa proprietà è possibile controllare se il programma di analisi XMLNSC viene utilizzato per creare elementi nella struttura del messaggio quando viene rilevato un testo misto nel messaggio di entrata. I valori validi sono Nessuno e Tutti. Se viene selezionato il valoreTutti, verranno creati elementi per il testo misto. Se viene selezionato il valore Nessuno, il testo misto viene ignorato e non vengono creati elementi. |
Modalità di mantenimento commenti | Sì | No | Nessuno | Mediante questa proprietà è possibile controllare se il programma di analisi XMLNSC viene utilizzato per creare elementi nella struttura del messaggio quando vengono rilevati commenti nel messaggio di entrata. I valori validi sono Nessuno e Tutti. Se viene selezionato il valoreTutti, verranno creati elementi per i commenti. Se viene selezionato il valore Nessuno, i commenti vengono ignorati e non vengono creati elementi. |
Modalità di mantenimento delle istruzioni di elaborazione | Sì | No | Nessuno | Mediante questa proprietà è possibile controllare se il programma di analisi XMLNSC viene utilizzato per creare elementi nella struttura del messaggio quando vengono rilevate istruzioni di elaborazione nel messaggio di entrata. I valori validi sono Nessuno e Tutti. Se viene selezionato il valoreTutti, verranno creati elementi per le istruzioni di elaborazione. Se viene selezionato il valore Nessuno, le istruzioni di elaborazione vengono ignorate e non vengono creati elementi. |
Nella tabella riportata di seguito vengono descritte le proprietà di Descrizione del nodo JMSInput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Descrizione breve | No | No | Una descrizione breve del nodo. | |
Descrizione completa | No | No | Viene descritto lo scopo del nodo nel flusso di messaggi. |