Formats JMS - objet
Votre programme peut extraire la charge d'un message d'objet JMS en mappant le corps du message vers un graphique de données SDO représentant le message.
Corps de l'objet
Vous pouvez extraire la charge utile d'un message d'objet JMS sous forme de tableau d'octets Java™ (byte[]). Vous devez d'abord extraire un graphique des données représentant le message de l'instance SIMessage. Comme pour tous les graphes de données représentant des messages JMS, l'objet de données racine du graphe contient une propriété "data", et cet objet de données contient à son tour une propriété "value". Dans le cas d'un message d'objet JMS, la propriété de valeur peut être accessible sous la forme d'un tableau d'octets Java. L'instance d'objet d'origine que la charge représente peut être reconstituée à partir du tableau d'octets.
SIMessage siMsg;
String format = siMsg.getFormat();
if (format.equals("JMS:object")) {
DataGraph graph = siMsg.getDataGraph();
byte[] payload = graph.getRootObject().getBytes("data/value");
if(payload != null) {
// Désérialisation requise pour récupérer l'objet d'origine
ObjectInputStream in =
new ObjectInputStream(new ByteArrayInputStream(payload));
Object obj = in.readObject();
}
}