ActiveMQ简单介绍以及安装
 

现实的企业中,对于消息通信的应用一直都非常的火热,而且在J2EE的企业应用中扮演着特殊的角色,所以对于它研究是非常有必要的。

上篇博文深入浅出JMS(一)–JMS基本概念,我们介绍了消息通信的规范JMS,我们这篇博文介绍一款开源的JMS具体实现——ActiveMQ。ActiveMQ是一个易于使用的消息中间件。

消息中间件

我们简单的介绍一下消息中间件,对它有一个基本认识就好,消息中间件(MOM:Message Orient middleware)。

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

MQ

首先简单的介绍一下MQ,MQ英文名MessageQueue,中文名也就是大家用的消息队列,干嘛用的呢,说白了就是一个消息的接受和转发的容器,可用于消息推送。

下面进入我们今天的主题,为大家介绍ActiveMQ:

ActiveMQ

简要概述ActiveMQ

Apache ActiveMQ ™ is the most popular and powerful open source messaging and Integration Patterns server.
Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4.

ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多种语言的客户端和协议,而且可以非常容易的嵌入到企业的应用环境中,并有许多高级功能。

下面我们下载一个版本,玩一玩。

下载ActiveMQ

官方网站:http://activemq.apache.org/ 
现在ActiveMQ最新的版本是5.11.1,下载挺简单的,就不再截图了。

运行ActiveMQ服务

  1. 下载,解压缩 
    大家现在好之后,将apache-activemq-5.11.1-bin.zip解压缩,我们可以看到它的整体目录结构: 
     
    从它的目录来说,还是很简单的:

    • bin存放的是脚本文件
    • conf存放的是基本配置文件
    • data存放的是日志文件
    • docs存放的是说明文档
    • examples存放的是简单的实例
    • lib存放的是activemq所需jar包
    • webapps用于存放项目的目录
  2. 启动ActiveMQ 
    我们了解activemq的基本目录,下面我们运行一下activemq服务,双击bin目录下的activemq.bat脚本文件或运行自己电脑版本下的activemq.bat,就可以看下图的效果。 

从上图我们可以看到activemq的存放地址,以及浏览器要访问的地址. 
3. 测试

ActiveMQ默认使用的TCP连接端口是61616, 通过查看该端口的信息可以测试ActiveMQ是否成功启动 netstat -an|find “61616”

C:\Documents and Settings\Administrator>netstat -an|find "61616"
TCP     0.0.0.0:61616     0.0.0.0:0       LISTENING

4. 监控 
ActiveMQ默认启动时,启动了内置的jetty服务器,提供一个用于监控ActiveMQ的admin应用。 
admin:http://127.0.0.1:8161/admin/

用户名和密码都是admin


5. 至此,服务端启动完毕

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

我们简单说说ActiveMQ特性,网上很多,只是为了保证博文的完整。

ActiveMQ特性列表

  1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
  2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
  3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
  4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
  5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
  6. 支持通过JDBC和journal提供高速的消息持久化
  7. 从设计上保证了高性能的集群,客户端-服务器,点对点
  8. 支持Ajax
  9. 支持与Axis的整合
  10. 可以很容易得调用内嵌JMS provider,进行测试

什么情况下使用ActiveMQ?

  1. 多个项目之间集成 
    (1) 跨平台 
    (2) 多语言 
    (3) 多项目
  2. 降低系统间模块的耦合度,解耦 
    (1) 软件扩展性
  3. 系统前后端隔离 
    (1) 前后端隔离,屏蔽高安全区

其实ActiveMQ的应用还有很多,大家可以上网查查,不再一一举例。

总结

ActiveMQ并不难,具有很多的优势。

下篇博文,我们做一个简单实例,真正的体会一把ActiveMQ的魅力。

转载于:https://www.cnblogs.com/zhangtan/p/7483962.html

ActiveMQ简单介绍以及安装相关推荐

  1. JMS学习(2):ActiveMQ简单介绍以及安装

    现实的企业中,对于消息通信的应用一直都非常的火热,而且在J2EE的企业应用中扮演着特殊的角色,所以对于它研究是非常有必要的. 上篇博文深入浅出JMS(一)–JMS基本概念,我们介绍了消息通信的规范JM ...

  2. 深入浅出JMS(二)–ActiveMQ简单介绍以及安装(转载)

    现实的企业中,对于消息通信的应用一直都非常的火热,而且在J2EE的企业应用中扮演着特殊的角色,所以对于它研究是非常有必要的. 上篇博文深入浅出JMS(一)–JMS基本概念,我们介绍了消息通信的规范JM ...

  3. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  4. openresty开发系列10--openresty的简单介绍及安装

    openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...

  5. JMS(Java消息服务)(Activemq简单介绍)

    是什么? JMS(java消息服务)是规范,它定义了一些规则,一些接口.具体实现由各种做这个产品的厂家或开源组织来实现. 为什么? 在JMS还没有诞生前,每个企业都会有自己的一套内部消息系统,比如项目 ...

  6. Kylin快速入门系列(1) | Kylin的简单介绍及安装部署

      大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...

  7. Ansible简单介绍及安装部署详解

    ansible简单介绍 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...

  8. MongoDB(1)--简单介绍以及安装

        前段时间接触了NoSql类型的数据库redis,当时是作为缓存server使用的.那么从这篇博客開始学习还有一个非常出名的NoSql数据库:MongoDb.只是眼下还没有在开发其中使用.一步一 ...

  9. ShengBTE简单介绍、安装与使用

    ShengBTE用迭代法求解声子的完全线性化玻尔兹曼输运方程.这远远超出了广泛使用的弛豫时间近似(relaxation-time  approximation):在"正常"(准动量 ...

最新文章

  1. 小程序生成二维码报错:40169:invalid length for scene, or the data is not json string
  2. spring整合mybatis基于注解
  3. html动态散花代码,IOS实现签到特效(散花效果)的实例代码
  4. 【编程】不同编程语言的用处(图解)
  5. ##API(一)————枚举
  6. 47-高级路由:BGP 镜子实验
  7. printf标识总结
  8. Python-继人物词频统计三国演义之后-三国词云(Wordcloud)
  9. 什么是计算机的超级用户账号,administrator是什么意思
  10. InsecureProgramming-master——abo1
  11. Android接腾讯Bugly没有上传崩溃日志
  12. Codeforces Round #521 (Div. 3) B - Disturbed People (贪心)
  13. 电子扫描件怎么弄?这个方法值得了解
  14. 在冰山一角之下:情绪分析研究的当前挑战和新方向。
  15. Office365 - 如何修改Teams group关联的Email Address?
  16. docker开机启动失败_docker安装后启动不了 解决方法
  17. Java封装FushionCharts
  18. 求n的阶乘及1~n的阶乘之和
  19. 编程5分钟,命名2小时!聊聊命名规则!
  20. 一句话证明:费马大定理

热门文章

  1. 学习笔记——微软的软件测试之道
  2. M进制转N进制(C++)
  3. PHP中select框不同用户登录,首页登录后怎么在首页显示用户名以及隐藏登录框?...
  4. sql declare用法_SQL语句的优化分析
  5. matlab虚拟现实之V-Realm Builder2建模注意事项
  6. 凭证反过账 金蝶k3_建议收藏!金蝶快捷键操作大全!
  7. colorbar的应用
  8. VS2008下改变项目的默认属性
  9. 计算机网络原基站,一种计算机网络工程用移动基站的制作方法
  10. 识别速度3.6ms/帧!人像抠图、工业质检、遥感识别,用这一个分割模型就够了...