应用程序特定的属性
应用程序属性在消息传送之前进行设置。一旦一条消息发布或发送后,它就变成了只读(read-only)属性;消费或生产者都无法修改它的属性。不过可以调用clearProperties()后,修改属性。
TextMessage message = pubSession.createTextMessage();
message.setText(text);
message.setStringProperty("username", "Jonne");
publisher.publish(message);
Message 接口中的getPropertyNames() 方法可以用来获取该消息所有属性的名称枚举。
public void onMessage(Message message) {Enumeration propertyNames = message.getPropertyNames();while(propertyNames.hasMoreElements()) {String name = (String) propertyNames.nextElement();Object value = getObjectProperty(name);System.out.println("name=" + name + ",value=" + value);}
}
JMS 定义的属性
message.setStringProperty("JMSXGroupID", "ERF-001");
message.setIntProperty("JMSXGroupSeq", 3);