JMS 메시지 유형

JMS는 6가지의 메시지 인터페이스 유형(하나의 기본 메시지 유형과 5개의 하위 유형)을 정의합니다. 메시지 유형은 메시지 페이로드(payload) 유형에 따라 정의됩니다. 페이로드(payload)는 컨텐츠를 보유하는 메시지의 본문입니다. JMS는 인터페이스만 지정하고 구현은 지정하지 않습니다. 이로써 공용 인터페이스를 사용하는 동안 벤더의 특정 메시지 구현 및 전송이 허용됩니다.

다음 표는 6가지의 메시지 유형을 설명합니다.
메시지 유형 설명
Message 기본 클래스. 이 메시지 유형은 이벤트 알림에 사용되며 페이로드(payload) 유형을 가지고 있지 않습니다.
BytesMessage 페이로드(payload)가 바이트 배열로 저장됩니다. 이 메시지 유형은 응용프로그램 고유 형식으로 데이터를 교환하는 데 두 시스템 사이의 전송 방식으로 JMS를 사용할 때 유용합니다. 이 때 JMS 클라이언트는 메시지 페이로드(payload) 유형을 인식하지 못합니다.
TextMessage 데이터가 문자열로 저장됩니다. 이 메시지 유형은 간단한 텍스트 메시지 교환과 더 복잡한 문자 데이터(예: XML 문서)에 유용합니다.
StreamMessage 스트림 메시지는 일련의 기본 노드 Java 유형의 순서입니다. 메시지 오브젝트는 스트림 내에서 이 기본 노드들의 순서와 유형을 추적합니다. 공식적인 변환 규칙이 적용됩니다. 예를 들어, JMS 응용프로그램이 double 값을 short 값으로 읽으려고 할 경우 예외가 발생합니다. 변환 규칙의 전체 목록은 JMS(Java Message Service) 스펙, 버전 1.1을 참조하십시오.
21ABCDEFGH32.345는 스트림 메시지 페이로드(payload)의 예입니다. 이 예는 다음과 같은 세 필드로 구성됩니다.
  • Integer, 21
  • String, ABCDEFGH
  • Float, 32.345

데이터 구조가 인식되지 않으면 일반적인 메소드 readObject()를 사용하여 스트림에서 다음 오브젝트를 리턴할 수 있습니다. 데이터의 구조가 인식되면, JMS 클라이언트는 액세스하는 오브젝트 유형에만 해당될 수 있습니다.

MapMessage 맵 메시지의 페이로드(payload)는 이름-값 쌍 세트로 저장됩니다. 이름은 문자열로 정의되고 값은 입력됩니다. 맵 메시지는 하나의 메시지에서 다음 메시지로 변경할 수 있는 키 입력 데이터 전달에 유용합니다.

NumberOfCopies:5는 맵 메시지 페이로드(payload)의 예입니다. 여기서 NumberOfCopies가 키이고 5는 값입니다.

데이터에는 getMapNames()를 사용하여 액세스할 수 있습니다. 이는 Java Enumeration 오브젝트를 리턴합니다. hasMoreElements()를 사용하여 맵 메시지를 통해 반복하면 맵핑된 이름-값 쌍을 검색할 수 있습니다.

ObjectMessage 오브젝트 메시지는 직렬화 가능 Java 오브젝트를 페이로드(payload)로 전달합니다. 이는 Java 오브젝트 교환에 유용합니다.
관련 참조
JMS 메시지 구조
JMS Transport를 통한 메시지 표현
입력으로서 JMS 메시지
출력용 JMS 메시지
JNDI 관리 오브젝트
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ac24862_