jms 学习笔记

今天上班一个下午就看了一个jms消息机制,没事总结一下今天看的东西吧 !!把我记得的或者自己感觉重要的东西记录一下把,如果有谁感觉有错了请给我提下哈!!大家一起学习哈哈!!!准备做一个消息的demo出来。。。
1:ptp(也就p2p呵呵让我想到了b2b)给我的感觉就是 一个生产消息发给另一个人消费,,也就是point to point ,一个生产者生成的消息先是放在queue中,让另一个消费者去拿,拿完以后queue消息队列里面就没有这个消息了。------- 一对一(基于队列)
2:pub/sub就是一个生产者生产出来信息后给多给消费者用,用书上的话就是把一个消息发给Topic,这个主题可以有多个接收者监听,当一个消息到达这个主题后所有接收者就可以拿到这个信息了。------------------------------------------- 一对多(基于主题)


感觉第二种方式就是那些网上的苹果订阅一样的呢,说不定他们两者还真有共同之处呢。一句废话
我从网上找了几张图片可以方便大家理解哈!!!

图一  消息传播模式

图二  jms中公用,点对点,pub/sub的接口对比

前面我们讲了消息传递的模式,后面我们再来看看到底什么是消息吧!
message: TextMessage(普通文本) MapMessage(map类型) BytesMessage(二进制信息) 、  StreamMessage(数据流信息) ObjectMessage(对象信息),XMLMessage(xml类型信息)
上面简单说明了信息,下面我将对信息的产生传递过程需要的组件进行说明,同时希望大家对着图看的话了解的更深入:


图三   jms整个过程的时序图
  • connectionFactory 一个工厂 生成connection的工厂类,
  • connection 创建一个连接生成Session,
  • session 由connection创建一个session ,他又可以川籍消息生产者,消费者,消息
  • 生产者MessageProducer   Session 对象创建的用来发送消息的对象
  • Destination消息的目的地
  • 消息队列:Queue 点对点的消息队列
    消息主题Tipic 发布订阅的消息队列 
  • 消费者 MessageConsumer    Session  对象创建的用来发送消息的对象

    用文字描述上幅图
    1、生产者(producer)开发流程(ProducerTool.java):
    1.1  创建 Connection
    根据 url user password 创建一个 jms Connection
    1.2  创建 Session
    connection 的基础上创建一个 session ,同时设置是否支持事务和 ACKNOWLEDGE 标识。
    1.3  创建 Destination 对象:
    需指定其对应的主题( subject )名称, producer consumer 将根据 subject 来发送 / 接收对应的消息。
    1.4  创建 MessageProducer
    根据 Destination 创建 MessageProducer 对象,同时设置其持久模式。
    1.5  发送消息到队列( Queue ):
    封装 TextMessage 消息,使用 MessageProducer send 方法将消息发送出去。
    2、消费者(consumer)开发流程(ConsumerTool.java):
    2.1  实现 MessageListener 接口:
    消费者类必须实现 MessageListener 接口,然后在 onMessage() 方法中监听消息的到达并处理。
    2.2  创建 Connection
    根据 url user password 创建一个 jms Connection ,如果是 durable 模式,还需要给 connection 设置一个 clientId
    2.3  创建 Session Destination
    2.4 创建 replyProducer 【可选】:
    可以用来将消息处理结果发送给 producer
    2.5  创建 MessageConsumer  
    根据 Destination 创建 MessageConsumer 对象。
    2.6  消费 message
      onMessage() 方法中接收 producer 发送过来的消息进行处理,并可以通过 replyProducer 反馈信息给 producer
看了给我点反应哈!!!让我能有基情继续写哈!!!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值