JMS 格式 - 流
您的程序可以通过将消息主体映射到表示该消息的 SDO 数据图来检索 JMS 流消息有效内容。
流主体
可以将 JMS 流消息的有效内容作为 Java™ 列表值 (java.util.List) 进行检索。首先,必须从 SIMessage 实例检索表示消息的数据图。由于对于表示 JMS 消息的所有数据图公共,因此图的根数据对象包含名为“data”的属性,且该数据对象又相应包含名为“value”的属性。从 JMS 流消息中,可以将 value 属性作为列表值访问。可以使用列表接口的成员功能访问 JMS 流消息实例中的单个对象。(请注意:JMS 标准对可能位于流消息中的各种对象应用约束。)
可以使用诸如以下代码的代码访问数据图中的数据:
}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]");
}
}