JMS 포맷 - 오브젝트
사용자 프로그램은 메시지의 본문을 메시지를 표시하는 SDO 데이터 그래프에 맵핑하여 JMS 오브젝트 메시지의 페이로드를 검색할 수 있습니다.
오브젝트 본문
JMS 오브젝트 메시지의 페이로드를 Java™ 바이트 배열(byte[])로 검색할 수 있습니다. 먼저, SIMessage 인스턴스에서 메시지를 표시하는 데이터 그래프를 검색해야 합니다. JMS 메시지를 표시하는 모든 데이터 그래프에 대해 공통이기 때문에, 그래프의 루트 데이터 오브젝트는 "data"라는 특성을 포함하며, 해당 데이터 오브젝트는 "value"라는 특성을 포함합니다. JMS 오브젝트 메시지의 경우 값 특성은 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();
}
}