JMS 消息类型

JMS 定义六种消息接口类型:一种基本消息类型和五种子类型。消息类型是根据消息有效内容的类型定义的,其中有效内容是保存内容的消息体。JMS 只指定接口,不指定实施。这在使用公共接口时允许使用特定于供应商的消息实施和传输。

下表中描述了这六种消息类型:
消息类型 描述
Message 基类。此消息类型用于事件通知,没有有效内容。
BytesMessage 有效内容作为字节数组存储。此消息类型对于交换应用程序的本机格式的数据,以及当 JMS 用作两个系统之间的传输方式时很有用,其中 JMS 客户机不知道消息有效内容类型。
TextMessage 数据作为字符串存储。此消息类型对交换简单文本消息和更复杂的字符数据(如 XML 文档)很有用。
StreamMessage 流消息是一系列原始 Java 类型。消息对象留意流内这些原始变量的顺序和类型。正式的转换规则是适用的;例如,当 JMS 应用程序尝试将双精度型值作为短整型值读取时,将抛出异常。请参阅 Java 消息服务规范 V1.1,获取转换规则的完整列表。
21ABCDEFGH32.345 是 StreamMessage 有效内容的一个示例。它包含以下三个字段:
  • 整数,21
  • 字符串 ABCDEFGH
  • 浮点 32.345

如果数据结构是未知的,则可以使用通用方法 readObject() 来返回流中的下一个对象。如果数据结构是已知的,则 JMS 客户机可以明确针对正在访问对象的类型。

MapMessage MapMessage 的有效内容作为一组“名称 - 值”对存储。名称被定义为一个字符串,值是输入的。MapMessage 对于传递可以从一条消息更改至下一条消息的键控数据很有用。

NumberOfCopies:5 是 MapMessage 有效内容的一个示例,其中 NumberOfCopies 是关键字,5 是值。

可以通过使用 getMapNames() 访问数据,该方法返回一个 Java 枚举对象。可以使用 hasMoreElements() 在 MapMessage 中进行迭代来检索映射的“名称 - 值”对。

ObjectMessage 对象消息携带可序列化的 Java 对象作为它的有效内容。它对交换 Java 对象很有用。
相关参考
JMS 消息结构
通过 JMS 传输方式的消息表示
JMS 消息作为输入
用于输出的 JMS 消息
JNDI 受管对象
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac24862_