Il presente argomento contiene le seguenti sezioni:
Utilizzare il nodo JMSOutput per inviare i messaggi alle destinazioni JMS. Il nodo JMSOutput funziona da produttore di messaggi JMS ed è in grado di pubblicare tutti i sei tipi di messaggi definiti in Java Message Service Specification, version 1.1. I messaggi vengono pubblicati utilizzando le chiamate di metodo descritte nella specifica JMS.
Il nodo JMSOutput è rappresentato in workbench dalla seguente icona:
È necessario che i flussi di messaggi, utili per gestire i messaggi ricevuti da connessioni a provider JMS, comincino sempre con un nodo JMSInput. Se il nodo JMSOutput è incluso in un flusso di messaggi, non è necessario includere il nodo JMSInput ma, in questo caso, è necessario includere il nodo MQJMSTransform per convertire il messaggio nel formato previsto dal nodo JMSOutput.
Se sono in corso la trasmissione di messaggi JMS e la creazione di un flusso di messaggi da utilizzare come flusso secondario, è necessario utilizzare un'istanza del nodo JMSOutput come ultimo nodo per creare un terminale esterno per il flusso secondario.
Per i sistemi distribuiti, copiare il file .jar java e le librerie native del client del provider JMS nella directory a classi condivise del broker. Ad esempio, su 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.
queue://QM_mn2/myJMSQueue4In questo caso, il valore è la rappresentazione specifica del provider JMS di una destinazione JMS per il provider JMS di WMQSeries.
jndi:\\jmsQ4dove jmsQ4 è il nome dell'oggetto di gestione JNDI.
Utilizzando questo metodo si ottiene un leggero sovraccarico di prestazioni a causa della necessità di cercare l'oggetto di gestione in JNDI.
Per consentire al nodo JMSOutput di impostare la proprietà JMSReplyTo dinamicamente nel messaggio in uscita, lasciare vuoto l'attributo Risposta a destinazione e impostare il valore JMSReplyTo su MbMessage mediante un nodo Compute o JavaCompute.
Il nodo risolve il nome dell'oggetto gestito JNDI, fornito sia su Argomento di pubblicazione che su Coda di destinazione e invia il messaggio a quella destinazione JMS.
Quando si inserisce un'istanza del nodo JMSOutput in un flusso di messaggi, è possibile configurarlo facendo clic con il tasto destro sul nodo nella vista editor e poi 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 JMSOutput 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.
Il valore predefinito è vuoto e in tal caso è possibile trattare il messaggio di output JMS come un datagramma. Se il campo è vuoto, non è prevista una risposta dal client JMS di ricezione al nodo JMSOutput.
Immettere un valore in millisecondi per specificare la durata di mantenimento del messaggio nel provider JMS. Il valore predefinito 0 viene utilizzato per indicare che il messaggio non abbia scadenza.
Immettere un valore compreso tra 0 (valore minimo) e 9 (valore massimo) per la priorità del messaggio. Il valore predefinito 4 indica una priorità media. I valori delle priorità compresi tra 0 e 4 indicano una consegna normale. I valori delle priorità compresi tra 5 e 9 indicano le graduazioni della consegna inviata.
Per ulteriori dettagli fare riferimento a Convalida dei messaggi e Proprietà della convalida per i messaggi nel dominio MRM.
Fare clic su Annulla per chiudere la finestra di dialogo ed eliminare tutte le modifiche apportate alle proprietà.
Connettere il terminale di input del nodo JMSOutput al nodo da cui vengono instradati i messaggi in uscita.
Connettere il terminale esterno del nodo JMSOutput a un altro nodo nel flusso di messaggi se si desidera elaborare ulteriormente il messaggio, elaborare gli errori o inviare il messaggio a una destinazione aggiuntiva.
Quando viene incluso un nodo JMSOutput in un flusso di messaggi, il valore impostato per Modalità transazione definisce se i messaggi vengono inviati 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 sistemi distribuiti il provider JMS WebSphere MQ fornisce un file jar aggiuntivo com.ibm,mqetclient.jar, che deve inoltre essere aggiunto 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=Initial Context,location JNDI,Optional_parms ThreadOfControl=THREAD
XAResourceManager: Name=Jms_Provider_Name SwitchFile=/install_dir/bin/ JMSSwitch.so XAOpenString=Initial Context,location 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.
<Broker Installation Path>/classes/xarecovery.jar
<Broker Installation Path>/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.0 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 JMSOutput.
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 | Si tratta del terminale di output al quale viene instradato il messaggio se viene recuperato 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 JMSOutput.
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 | No | Si tratta del percorso di sistema o dell'ubicazione LDAP per i file di associazione. | ||
Nome produttore connessione | No | Il nome del produttore connessione utilizzato dal nodo JMSOutput per creare una connessione al provider JMS. |
Nella tabella riportata di seguito vengono descritte le proprietà pubblicazione/sottoscrizione del nodo JMSOutput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Argomento Publisher | No | Il nome dell'argomento dal quale il nodo recupera i messaggi pubblicati. |
Nella tabella riportata di seguito vengono descritte le proprietà point to point del nodo JMSOutput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Coda di destinazione | No | Il nome della coda nella quale il nodo pubblica i messaggi in uscita. |
Nella tabella riportata di seguito vengono descritte le proprietà di richiesta del nodo JMSOutput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Modalità destinazione | No | Nome di destinazione | Questa proprietà viene utilizzata per determinare se è necessario considerare il messaggio come richiesta di un datagramma o come una risposta. | |
Risposta a destinazione | No | Questo valore è il nome della destinazione JMS alla quale l'applicazione di ricezione invia un messaggio di risposta. Per restituire un messaggio di risposta a questa destinazione JMS, è necessario che il nome della destinazione JMS sia noto al dominio del provider JMS utilizzato dal client di ricezione. |
Nella tabella riportata di seguito vengono descritte le proprietà avanzate del nodo JMSOutput.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Nuovo ID correlazione | No | Questa proprietà viene selezionata se è richiesto un Nuovo ID correlazione. | ||
Modalità transazione | Sì | No | Nessuno | Questa proprietà viene utilizzata per determinare se il messaggio in entrata viene ricevuto nel punto di sincronizzazione. I valori validi sono Nessuno, locale e globale. |
Modalità di consegna | No | Non permanente | Il selettore di messaggio che verrà utilizzato per filtrare i messaggi secondo la modalità di consegna del messaggio. | |
Scadenza messaggio | No | 0 | Questa proprietà viene utilizzata per richiedere che il messaggio JMS di output venga mantenuto nel provider JMS per un intervallo di tempo specifico. I valori vengono specificati in millisecondi e il valore predefinito 0 viene utilizzato per indicare che il messaggio non abbia scadenza. |
|
Priorità del messaggio | No | 4 | Con questo valore si assegna un'importanza relativa al messaggio. E' possibile utilizzare questo valore per selezionare un messaggio mediante un'applicazione client JMS di ricezione o un nodo JMSOutput. |
Nella tabella riportata di seguito vengono descritte le proprietà di convalida del nodo JMSOutput.
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à di Descrizione del nodo JMSOutput.
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. |