Quando il nodo JMSOutput riceve un messaggio JMS, richiama il programma di analisi JMSTransport per restituire un flusso di bit XML che contenga la sezione JMSTransport del messaggio. Il nodo estrae i Metadati_messaggio e ottiene le informazioni del tipo di payload per identificare il tipo di messaggio JMS da creare per l'output. Se la cartella Metadati_messaggio non è presente, il nodo di output crea BytesMessage per impostazione predefinita.
Il nodo JMSOutput estrae i dati di intestazione JMS dalla stringa XML e utilizza tali dati per popolare i valori dei campi di intestazione JMS nel messaggio.
Il nodo JMSOutput estrae i valori di proprietà dalla stringa XML. Gli elementi XML contengono le informazioni di tipo che identificano il tipo di oggetto Java da creare per ciascun valore della proprietà.
Il payload del messaggio è ottenuto dal messaggio JMS come flusso di bit. Per i payload TextMessage e BytesMessage, è possibile la trasmissione diretta del flusso di bit all'API JMS per creare il payload appropriato.
Per i payload MapMessage e StreamMessage è necessario estrarre gli elementi individuali dal flusso di bit XML. Il nodo di output richiama il metodo API JMS appropriato per creare i campi di flusso o mappa nel messaggio.
Per un payload
ObjectMessage, il nodo JMSOutput serializza nuovamente il payload del flusso di bit utilizzando la classe oggetto. E' necessario che la classe oggetto sia disponibile nel percorso della classe Java del broker. Il percorso classe viene definito
nel file batch mqsiprofile, che si trova nella directory di eseguibili del broker; ad esempio in
Windows, è mqsiprofile.cmd nella
directory install_dir/bin.
Il messaggio viene pubblicato nella destinazione JMS specificata come attributo del nodo JMSOutput. Tuttavia, se il campo di intestazione JMSReplyTo viene impostato nel messaggio JMS, il nodo JMSOutput considera il messaggio come una risposta a richieste precedenti e pubblica il messaggio nella destinazione JMS della richiesta precedente.