JMS中消息由什么组成

JMS的消息由三部分组成,分别为消息头,消息体,消息属性

消息头主要的常用配置:
JMS Destination: 发送消息的目的地,主要是指Queue和Topic
JMS DeliveryMode: 是否持久化,一条持久性的消息:应该被传送“一次仅仅一次”,这就意味着如果JMS提供者出现故障,该消息并不会丢失,它会在服务器恢复之后再次传递。一条非持久的消息:最多会传送一次,这意味着服务出现故障,该消息将永远丢失。
JMS Expiration: 可以设置消息在一定时间后过期,默认是永不过期。消息过期时间等于Destination的send方法中TimeToLive值加上发送时刻的GMT时间值。如果timeToLive值等于零,表示消息永不过期。如果发送后,在消息过期时间之后消息还没有被发送到目的地,则该消息被清除。
JMS Priority: 消息优先级,从0-9十个级别,0-4是普通消息,5-9是加急消息。JMS不要求MQ严格按照这是个优先级发送消息,但必须保证加急消息要优先于普通消息到达。默认是4。
JMS MessageID: 唯一识别每个消息的标识由MQ产生。

消息体:
封装具体的消息数据,5种消息体格式,发送和接受的消息必须一致对应
TextMessage: 普通字符串消息,包含一个String
MapMessage: 一个map类型的消息,key为String类型,而值为Java的基本类型
BytesMessage: 二进制数组消息,包含一个byte[]
StreamMessage: Java数据流消息,用标准流来顺序的填充和读取
ObjectMessage: 对象消息,包含一个可序列化的Java对象

消息属性: 如果需要除消息头字段以外的值(set…Property),那么可以增加消息属性
作用:识别/去重/重点标注等操作非常有用的方法

你可能感兴趣的:(MQ)