zoukankan      html  css  js  c++  java
  • ActiveMQ使用介绍及实例

    上一篇讲了rabbitmq的使用以及demo,activemq的思路也与之有相似的地方。

    activemq是基于Java实现的。activemq没有rabbitmq那么多的路由规则,其通信方式只有两种,queue和topic。

    1.queue又称P2P模式:

    一条消息仅能传递给一个消息消费者。
    如果多个消息消费者正在监听队列上的消息,JMS消息服务器将根据“先来者优先”的原则确定由哪个消息消费者接收下一条消息。
    如果没有消息消费者在监听队列,消息将保留在队列中,直至消息消费者连接到队列为止。这种消息传递模型是传统意义上的懒模型或轮询模型。
    在此模型中,消息不是自动推动给消息消费者的,而是要由消息消费者从队列中请求获得。

    2.topic又称pub/sub模式(发布订阅模式):

    消息首先由消息生产者发布至消息服务器中特定的主题中,然后由消息服务器将消息传送至所有已订阅此主题的消费者。

    直接给出demo吧,也挺简单。与spring的整合是采用jmsTemplate进行操作的

    入门级实例 https://github.com/littlechaser/activemq.git

    与springMVC整合 https://github.com/littlechaser/SpringActiveMQ.git

    在与spring整合的demo中,调sendMsg接口

    得到结果如下:

    多次调用,每次都可能不一样,但是consumer、consumer2、consumer3三者只有一个能获得消息。

    调用sendMsg2接口:

    得到结果为:

    可见,所有消费者都获得了消息,这就是p2p和pub/sub模式两者的实现及区别。

  • 相关阅读:
    移动app测试
    centos7中tomcat安装步骤
    linux下搭建数据库
    Linux 学习笔记
    vi编辑器 使用表
    python-Xml 实战
    python-Excel 实战
    手写HashMap
    volatile关键字解析
    两个栈实现队列——优化版
  • 原文地址:https://www.cnblogs.com/xiao-tao/p/6889923.html
Copyright © 2011-2022 走看看