消息头是每条 JMS 消息所必需的。消息头包含十个预定义字段,表 2–3 中列出并介绍了这些字段。
表 2–3 JMS 定义的消息头
头字段 |
描述 |
---|---|
在 0(低)到 9(高)的范围内指定消息的优先级。(默认情况下由提供者设置,也可以由客户端为生成方或为单独的消息显式设置。) |
|
从表中可以看出,消息头字段有多种用途:标识消息、配置消息的路由以及提供有关消息处理的信息等。
其中最重要的字段之一 JMSDeliveryMode,用于决定消息传送的可靠性。该字段指示一条消息是否为持久性消息。
部分消息头字段由提供者(代理或客户端运行时环境)设置,其他头字段则由客户端设置。消息生成方可能需要配置头字段值,才能实现某些消息传送行为;消息使用方可能需要读取头字段值,才能了解消息的路由方式以及可能需要对它执行哪些进一步处理。
头字段(JMSDeliveryMode、JMSExpiration 和 JMSPriority)可以在三个不同的级别上进行设置:
对于通过从连接工厂派生的每个连接发出的消息。
对于生成的每条消息。
对于特定消息生成方发出的所有消息。
如果这些字段在多于一个级别上进行设置,则为连接工厂设置的值将覆盖为单条消息设置的值;为给定消息设置的值将覆盖为消息生成方设置的值。
消息头字段的固定名称因语言实现而异。有关详细信息,请参见《Sun Java System Message Queue 3.7 UR1 Developer’s Guide for Java Clients》或《Sun Java System Message Queue 3.7 UR1 Developer’s Guide for C Clients》。