ActiveMQ学习教程(一)——简要介绍与安装

一。名词:

1.JMS:即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信【提供产生-发送-接收消息接口】。Java消息服务是一个与具体平台无关的API,绝大多数MOM(消息中间件)提供商都对JMS提供支持。

2.MOM:Message Orient middleware消息中间件

3.MQ:Message Queue消息队列

3.ActiveMQ:Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现

附:消息中间件的用途和优点

【1】. 将数据从一个应用程序传送到另一个应用程序,或者从软件的一个模块传送到另外一个模块;
【2】. 负责建立网络通信的通道,进行数据的可靠传送。
【3】. 保证数据不重发,不丢失
【4】. 能够实现跨平台操作,能够为不同操作系统上的软件集成技工数据传送服务

应用ActiveMQ场景:

【1】多个项目之间集成
     
(1) 跨平台  
(2) 多语言  
(3) 多项目

【2】降低系统间模块的耦合度,解耦
     
(1) 软件扩展性

【3】系统前后端隔离
     
(1) 前后端隔离,屏蔽高安全区

二。体系架构:

1.JMS提供者

连接面向消息中间件的,JMS接口的一个实现。提供者可以是Java平台的JMS实现,也可以是非Java平台的面向消息中间件的适配器。

2.JMS客户

生产或消费基于消息的Java的应用程序或对象。

3.JMS生产者

   创建并发送消息的JMS客户。

4.JMS消费者

    接收消息的JMS客户。

5.JMS消息

    包括可以在JMS客户之间传递的数据的对象

6.JMS队列

    一个容纳那些被发送的等待阅读的消息的区域。与队列名字所暗示的意思不同,消息的接受顺序并不一定要与消息的发送顺序相同。一旦一个消息被阅读,该消息将被从队列中移走。

7JMS主题

一种支持发送消息给多个订阅者的机制。

三。支持的模型

Java消息服务应用程序结构支持两种模型:

1.点对点或队列模型

2.发布者/订阅者模型

四。ActiveMQ下载地址

http://activemq.apache.org/download.html  //可下载最新版本

解压apache-activemq-5.15.2,文件目录说明:

==》启动MQ服务器:

根据操作系统不同,进入相应win64/win32位目录,双击activemq.bat启动MQ。控制台部分显示:

ActiveMQ默认启动时,启动了内置的jetty服务器,提供一个用于监控ActiveMQ的admin应用

进入ActionMQ服务监控地址:浏览器输入http://127.0.0.1:8161/admin

登录成功,页面显示:

重点关注菜单栏:

【1】Queues:队列

【2】Topics

 ==》停止服务器,只需要按着Ctrl+Shift+C,之后输入y即可

参考学习文章:

https://www.toutiao.com/a6345805464718409986/?tt_from=weixin&utm_campaign=client_share&app=news_article&utm_source=weixin&iid=18292470304&utm_medium=toutiao_android&wxshare_count=1

http://blog.csdn.net/xh16319/article/details/12142249

http://blog.csdn.net/jiuqiyuliang/article/details/47160259

最新文章

  1. MySQL问题记录--python插入中文至MySQL提示SQLErroor:1366错误
  2. Codeforces Alpha Round #20 (Codeforces format) C. Dijkstra?(裸的dijkstra)
  3. [原创]Matlab获取当前时间信息
  4. SSH: 本地.ssh目录下的公钥文件最好删掉
  5. NSNumber,NSValue和NSData
  6. xcode使用
  7. xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)
  8. android 开源 OCR 项目 及手写识别
  9. Centos使用dd命令制作U盘启动盘 wodim刻录光盘
  10. 1.Tsung介绍(翻译)
  11. (七十三)iOS本地推送通知的实现
  12. Mac下如何用SSH连接远程Linux服务器及Linux一些常用操作命令,更新中.....
  13. es6 - 一共有 6 种声明变量的方法(var, function, let, const, class, import)
  14. MySQL导入导出实践
  15. 14.vue路由&脚手架
  16. go channel例子
  17. eclipse 重装了tomcat后配置路径
  18. 使用Microsoft Unity进行日志记录
  19. Mantle 初步使用
  20. 为什么委托的减法(- 或 -=)可能出现非预期的结果?(Delegate Subtraction Has Unpredictable Result)

热门文章

  1. 清北学堂北京大学文宏宇神仙讲课day7
  2. python openpyxl 简单使用
  3. 基于注解的IOC配置
  4. pt-align的用法简要记录
  5. 【NOIP2016提高A组模拟8.15】Throw
  6. electron-vue 图片加载失败后使用默认头像
  7. contenteditable 光标定位到最后
  8. EXCL单元格公式——组装SQL用
  9. 《Spring源码深度解析》一
  10. chrome浏览器调试js,结果Sources里面找不到js文件解决办法