JMS的消息结构

  1. JMS由以下几部分组成:消息头,属性和消息体
  2. 消息头包含消息的识别信息和路由信息,消息头包含一些标准的属性如下:
    a)JMS Destination: 由send方法设置,消息发送的目的地: 主要是指Queue和Topic,自动分配(session.createQueue(“my-first-queue”))create queue的时候,就会发送至queue,create topic的时候就会发送至topic.
    b)JMS DeliverMode: 传送模式.有两种: 持久模式和非持久模式.一条持久性的消息应该被传送一次并且是仅仅一次,试想你关注了一个公众号,公众号的同一个消息不应该重复不断的推送给你.
    这就意味着如果JMS提供者出现故障,该消息不会丢失,而是持久化下来了,等到服务器恢复之后,可以再次传递。
    一条非持久性的消息最多会传递一次,这意味着服务器如果出现故障,该消息将永久丢失.
    传送模式可以进行配置
    c)JMS Expiration:消息过期时间,在Desination的send方法中可以设置消息的过期时间(producer.send(message))
    timeToLeave的值如果为0,表示消息永不过期,即使消息没有被消费,也不会过期,
    如果设置了时间之后,如果在设置的时间范围内,消息还没有被发送到目的地,那么该消息会被清除,是自动分配的,不需要填
    d)JMS Priority: 消息优先级,从0-9十个级别,0-4是普通消息,5-9是加急消息.
    jms不要求严格按照这个等级去设置,但是必须保证加急消息要先于普通消息到达.
    默认级别是4
    自动分配,无需手动设置
    e)JMS MessageID: 消息的唯一标识,由JMS provider(jms厂商)实现
    f)JMS Timestamp: 一个消息在发送的时候,send()方法自动设置,是用来计算消息发送和消息接受之间的时间差.自动分配
    g) jms CorrelationID: 用来连接另外一个消息的,常用语消息的应答.
    h) jms replyTo: 提供消息被消费后,回复消息的地址,消息的消费方在接受到消息之后,向消息的服务方提供一个消息,告知该消息已被消费.程序中设定
    i) jms type:消息类型的识别符.由开发者者设置
    j) jms redelivered:重新传送消息,由于某些原因,该消息么有被签收,那么这个设置了这个值得消息可以被重新传递.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值