42.4.2. 检查消息标头属性

标准 JMS 标头属性

表 42.3 “JMS 标头属性” 列出您可以检查的 JMS 标头中的标准属性。

表 42.3. JMS 标头属性

属性名称属性类型getter 方法

关联 ID

字符串

getJMSCorralationID()

交付模式

int

getJMSDeliveryMode()

消息过期

long

getJMSExpiration()

消息 ID

字符串

getJMSMessageID()

优先级

int

getJMSPriority()

redelivered

布尔值

getJMSRedlivered()

time Stamp

long

getJMSTimeStamp()

类型

字符串

getJMSType()

实时到实时

long

getTimeToLive()

可选标头属性

另外,您可以使用 JMSMessageHeadersType.getProperty() 检查 JMS 标头中存储的任何可选属性。可选属性返回为 org.apache.cxf.transports.jms.context.JMSPropertyType 的列表。可选属性存储为名称/值对。

示例

例 42.14 “读取 JMS 标头属性” 显示用于使用响应上下文检查某些 JMS 属性的代码。

例 42.14. 读取 JMS 标头属性

// JMSMessageHeadersType messageHdr retrieved previously
System.out.println("Correlation ID: "+messageHdr.getJMSCorrelationID());
System.out.println("Message Priority: "+messageHdr.getJMSPriority());
System.out.println("Redelivered: "+messageHdr.getRedelivered());

JMSPropertyType prop = null;
List<JMSPropertyType> optProps = messageHdr.getProperty();
Iterator<JMSPropertyType> iter = optProps.iterator();
while (iter.hasNext())
{
  prop = iter.next();
   System.out.println("Property name: "+prop.getName());
   System.out.println("Property value: "+prop.getValue());
}

例 42.14 “读取 JMS 标头属性” 中的代码执行以下操作:

打印消息的关联 ID 的值。

可打印消息的优先级属性的值。

打印消息的 redelivered 属性的值。

获取消息的可选标头属性列表。

获取一个 迭代器 以遍历属性列表。

迭代可选属性列表并打印其名称和值。