Tipi di messaggio in JMS

June 7

L'API Java Message Service è un Message Oriented Middleware, o MOM, l'interfaccia di programmazione delle applicazioni per l'invio di messaggi tra due o più clienti. L'obiettivo è quello di fornire un singolo API messaggio unificato adatto per la creazione di messaggi che corrispondono al formato utilizzato da applicazioni di messaggistica fornitore-native. Ci sono sei diversi tipi di interfaccia messaggio che consistono di un messaggio di base e cinque sottotipi. Il tipo di messaggio payload definisce questi, dove il payload è considerato il corpo del messaggio che contiene il contenuto.

Messaggio

Questa è la classe base di tipi di messaggi. Viene utilizzato per la notifica eventi e non ha un payload a causa del suo peso leggero. Solitamente, costituito solo da un'intestazione e proprietà. E 'molto efficiente se i ricevitori richiedono solo una notifica di evento e ha bisogno di essere scambiati non ci sono dati.

BytesMessage

Questo tipo di messaggio mantenuto il suo nome perché contiene un array di byte. È utile per scambiare dati tra due applicazioni nel loro formato nativo. In questo caso, potrebbe non essere compatibile con altri tipi di messaggio. BytesMessages può essere utilizzato anche quando JMS è il trasporto principale tra due sistemi e il payload del messaggio è irriconoscibile al client JMS.

Messaggio testuale

TextMessage è il tipo di messaggio JMS più comunemente usato. I dati sono memorizzati come una stringa, che è una sequenza di simboli che sono scelti da un insieme o alfabeto. Quindi, è utile quando si scambiano dati testuali semplici. In alcuni casi, può anche essere utilizzato per trasferire dati di caratteri complessi come un Extensible Markup Language (XML) documenti.

StreamMessage

Un StreamMessage trasporta un flusso di tipi Java primitivi, che sono valori utilizzati nel linguaggio di programmazione Java, per il suo carico utile. L'oggetto del messaggio registra l'ordine ei tipi di queste primitive all'interno del flusso. E 'diverso da altri tipi perché memorizza anche le informazioni sul tipo insieme al valore dell'essere primitivo utilizzata. Ci sono anche diverse regole di conversione formale applicate, che aiutano nella prevenzione di JMS leggere un tipo primitivo come un altro.

MapMessage

Un MapMessage trasporta coppie nome-valore come il suo carico utile. In sostanza, il corpo del messaggio di un oggetto è un insieme di coppie nome-valore, dove i nomi sono oggetti String e valori sono primitivi Java. L'ordine delle voci non è definito, e ogni voce è possibile accedere in modo sequenziale o casuale per nome. E 'utilizzato per la consegna dei dati digitati che cambieranno da un messaggio ad un altro.

ObjectMessage

Questo tipo di messaggio contenente un oggetto Java serializzabile come il suo carico utile, che consente lo scambio di oggetti Java tra le applicazioni Java variabili. Molto utilizzata per scambiare oggetti Java, è importante che il consumatore del messaggio conosce il tipo di oggetto che viene inviato dal mittente. Questo è perché il ricevitore deve typecast l'oggetto ricevuto al suo tipo appropriato.