JMS フォーマット - オブジェクト
メッセージの本体を、メッセージを表す SDO データ・グラフにマッピングすることで、プログラムにより JMS オブジェクト・メッセージのペイロードを検索できます。
オブジェクト本文
JMS オブジェクト・メッセージのペイロードを Java™ バイト配列 (byte[]) として取得できます。まず、SIMessage インスタンスから メッセージを表しているデータ・グラフを取得する必要があります。 JMS メッセージを表しているすべてのデータ・グラフにとっての通例として、 グラフのルート・データ・オブジェクトは「data」という名前のプロパティーを持ち、 同様にそのデータ・オブジェクトは「value」という名前のプロパティーを持っています。 JMS オブジェクト・メッセージの場合は、value プロパティーは Java バイト配列として アクセスすることができます。ペイロードが表すオリジナルのオブジェクトは、 バイト配列から再構成することができます。
次のようなコードを用いてデータ・グラフ内のデータにアクセスできます。
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();
}
}