JMS 输入消息头和属性数据

头数据

本部分描述 JMSInput 节点如何从 JMS 消息获取头数据和属性数据。
JMSInput 节点使用 JMS API 方法从消息抽取头数据。头数据作为“名称 - 值”对存储在 Header_Values 文件夹中。API 方法返回值;例如,要获取头字段 JMSTimestamp 的值,JMSInput 节点使用 getJMSTimestamp( ) 方法。对以下每个固定头字段提供相似的方法:
  • JMSDestination
  • JMSDeliveryMode
  • JMSExpiration
  • JMSPriority
  • JMSTimeStamp
  • JMSMessageID
  • JMSCorrelationID
  • JMSReplyTo
  • JMSType
  • JMSRedelivered

属性数据

JMSInput 节点以类似于获取头数据的方法,使用 JMS API 方法从消息抽取属性数据。属性数据作为“名称 - 值”对存储在属性文件夹中。API 方法为每个属性名返回一个所提供的值。

头数据和属性数据的 XML 表示

JMSInput 节点使用头数据和属性数据创建 JMSTransport 文件夹的 XML 表示。该节点将 XML 数据作为字节数组传递到 JMSTransport 解析器。然后,该字节数组用来填充或刷新消息树中的元素。JMSTransport 解析器是一种新的解析器类型。

保留 Java 类型

不需要规则就能保留对 Java 类型的知晓,这是因为头值 Java 类型是固定并且是已知的。JMS 消息属性是可选的,因此需要有规则来保留属性值的 Java 类型。所使用的规则是 WebSphere MQ JMS 客户机和 Real-timeInput 节点实施的规则。

Java 类型信息作为元数据以关键字 dt=’ DataType’的格式表示,其中 Datatype 是一个字符串。Java 类型在 XML 中作为元素名称 <ElementName dt='DataType'>Value</ElementName> 的一部分传递。Datatype 可以是以下任何值:
Datatype 值 定义
String <& 以外的任何字符序列
Boolean 字符 01,其中 1 等于“真”
bin.hex 表示八位元的十六进制数字
I1 使用数字 0 到 9 表示的数,带可选标记(没有尾数或指数)。

必须在 -128 到 127 的范围内。

I2 使用数字 0 到 9 表示的数,带可选标记(没有尾数或指数)。

必须在 -32768 到 32767 的范围内。

I4 使用数字 0 到 9 表示的数,带可选标记(没有尾数或指数)。

必须在 -2147483648 到 2147483647 的范围内。

I8 使用数字 0 到 9 表示的数,带可选标记(没有尾数或指数)。

必须在 -9223372036854775808 到 92233720368547750807 的范围内。

int 使用数字 0 到 9 表示的数,带可选标记(没有尾数或指数)。

所在范围必须与 datatype 值 I8 的相同。

如果发送方不想特定精度与属性关联,则可以使用此数字替代 I* 类型中的某个类型。

R4 浮点数,使用 0 至 9 的数字、可选符号、可选小数数字、可选指数表示。

值 <= 3.40282347E+38 且 >= 1.175E-37

R8 浮点数,使用 0 至 9 的数字、可选符号、可选小数数字、可选指数表示。

值 <= 1.7976931348623E+308 且 >= 2.225E-307

相关参考
JMS 消息结构
JMS 消息类型
通过 JMS 传输方式的消息表示
JMS 消息有效内容
JMS 消息有效内容和相应的解析器
派生消息域的优先顺序
用于输出的 JMS 消息
Real-timeInput 节点
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac24867_