消息属性

应用程序特定属性

例如:

TextMessage message=session.createTextMessage();
Message.setStringProperty(“username”,username);

JMS定义的属性

JMS为JMS定义的属性保留了JMSX属性名前缀。全套的JMS定义的属性见下表。新的JMS定义的属性可以被增加到JMS最近的版本中。除非另有通知,这些支持是可选的。ConnectionMetaData.getJMSXPropertyNames() 返回了所有连接所支持的JMSX属性名。无论JMSX属性是否被连接所支持,这些属性都可以被消息选择器引用。 如果JMSX属性没有出现在消息中,它们被按照所有未存在的属性一样对待。在特定消息中存在的JMS定义的属性是由JMS提供者根据自身如何控制这个属性的用途来进行设置。

JMS 定义的属性

名字 类型 设置者 用法
JMSXUserID String 发送时提供商设置 发送消息的用户标识。
JMSXAppID String 发送时提供商设置 发送消息的应用标识。
JMSXDeliveryCount int 发送时提供商设置 转发消息重试次数, 第一次是1,第二次是 2, …。
JMSXGroupID String 客户端 消息所在消息组的标识。
JMSXGroupSeq int 客户端 组内消息的序号第一个消息是1,第二个是2, …。
JMSXProducerTXID String 发送时提供商设置 产生消息的事务的事务标识。
JMSXConsumerTXID String 接收时提供商设置 消费消息的事务的事务标识。
JMSXRcvTimestamp long 接收时提供商设置 JMS转发消息到消费者的时间。
JMSXState int 提供商 假定存在一个消息仓库,它存储了每个消息的单独拷贝,且这些消息从原始消息被发送时开始。每个拷贝的状态有:1(等待),2(准备),3(到期)或4(保留)。由于状态与生产者和消费者无关,所以它不是由它们来提供。它只和在仓库中查找消息相关,因此JMS没有提供这种API。

提供者指定的属性

JMS保留了JMS_作为提供者指定的属性名称前缀。每个提供者定义它们自己。 这就是JMS提供者用来指定它能给JMS客户端带来的特定的消息服务的措施。提供者指定属性目的在于支持使用“提供者本地客户端”所需要的特性。这些属性不应被用于JMS或者JMS消息。

results matching ""

    No results matching ""