JMS-Formate - Objekt
Ihr Programm kann die Nutzdaten einer JMS-Objektnachricht abrufen, indem es den Hauptteil der Nachricht einem SDO-Datengraphen zuordnet, der die Nachricht darstellt.
Objekthauptteil
Sie können die Nutzdaten einer JMS-Nachricht vom Typ "Objekt" als Java-Bytefeldgruppe (byte[]) abrufen. Zuerst müssen Sie einen Datengraphen abrufen, der die Nachricht aus der SIMessage-Instanz darstellt. Wie bei allen Datengraphen für JMS-Nachrichten enthält das Stammdatenobjekt des Graphen eine Eigenschaft mit dem Namen "data" und das data-Objekt eine Eigenschaft mit dem Namen "value". Bei einer JMS-Objektnachricht kann auf den Eigenschaftswert als Java-Bytefeldgruppe zugegriffen werden. Die ursprüngliche Objektinstanz, die von den Nutzdaten repräsentiert wird, kann aus der Bytefeldgruppe wiederhergestellt werden.
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) {
// Need to deserialize to recover original object
ObjectInputStream in =
new ObjectInputStream(new ByteArrayInputStream(payload));
Object obj = in.readObject();
}
}