JMS フォーマット - ストリーム
メッセージの本体を、メッセージを表す SDO データ・グラフにマッピングすることで、プログラムにより JMS ストリーム・メッセージのペイロードを検索できます。
ストリーム本文
JMS ストリーム・メッセージのペイロードを Java™ リスト値 (java.util.List) として取得できます。まず、SIMessage インスタンスから メッセージを表しているデータ・グラフを取得する必要があります。 JMS メッセージを表しているすべてのデータ・グラフにとっての通例として、 グラフのルート・データ・オブジェクトは「data」という名前のプロパティーを持ち、 同様にそのデータ・オブジェクトは「value」という名前のプロパティーを持っています。 JMS ストリーム・メッセージの場合は、value プロパティーは List 値として アクセスすることができます。 List インターフェースのメンバー関数は、JMS ストリーム・メッセージ・ インターフェース内の個々のオブジェクトにアクセスするのに使用することができます。 (JMS 標準は、Stream メッセージに配置される可能性のある種類のオブジェ クトに対して制約を設定することに注意してください。)
次のようなコードを用いてデータ・グラフ内のデータにアクセスできます。
}SIMessage siMsg;
String format = siMessage.getFormat();
if (format.equals("JMS:stream")) {
DataGraph graph = siMsg.getDataGraph();
List payload = graph.getRootObject().getList("data/value");
int streamLength = payload.size();
if (streamLength > 0) {
Object item1 = payload.get(0);
// You can also access items directly, for example: (for the_same_ value)
item1 = graph.getRootObject().get("data/value[1]");
}
}