ActiveMQ 的使用

来源:互联网 发布:萧山网络问政供电局 编辑:程序博客网 时间:2024/06/11 22:02

ActiveMQ 的使用

一:介绍

      ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。

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

      ActiveMQ为应用架构提供了松耦合的好处。松耦合通常被引入到一个架构迁移到一个古典的紧耦合的远程过程调用(RPC)中。这样一个松耦合设计被认为是异步的,调用两个应用中的任何一个应用对另一个都没有影响;不相互依赖或者有时间要求。应用可以信任ActiveMQ有能力保障消息交付。因此,通常表述为应用发送消息是发送后自寻的。也就是他们把消息发给ActiveMQ,并不关心消息如何交付和什么时候交付。同样的,消费应用也不用关心消息来自哪里何以如何发送到ActiveMQ的。这对于在非均匀环境中来说尤其有用,这种环境中允许客户端使用不同的语言编写,甚至可能是不同的网格协议。ActiveMQ充当中间人,允许以异步的方式进行非均匀集成和交互。

      像COM、CORBA、DCE和EJB这样的技术使用的技术称之为远程过程调用(RPC),RPC被认为是紧耦合的。使用RPC,当一个应用调用另一个应用的时候,调用者是锁定的,直到被调用者返还会控制权。

特性及优势

  1. 实现JMS1.1规范,支持J2EE1.4以上

  2. 可运行于任何jvm和大部分web容器(ActiveMQ works great in any JVM)

  3. 支持多种语言客户端(java, C, C++, AJAX, ACTIONSCRIPT等等)

  4. 支持多种协议(stomp,openwire,REST)

  5. 良好的spring支持(ActiveMQ has great Spring Support)

  6. 速度很快,JBossMQ的十倍(ActiveMQ is very fast; often 10x faster than JBossMQ。

  7. 与OpenJMS、JbossMQ等开源jms provider相比,ActiveMQ有Apache的支持,持续发展的优势明显。


安装

地址:http://activemq.apache.org/activemq-5132-release.html

MAC用户如果安装了homebrew的话,直接运行brew install maven即可,ActiveMQ会被默认安装到/usr/local/Cellar/activemq。

启动ActiveMQ服务器,运行脚本:activemq.bat 启动服务

目录结构说明

  • +bin (windows下面的bat和unix/linux下面的sh) 启动ActiveMQ的启动服务就在这里
  • +conf (activeMQ配置目录,包含最基本的activeMQ配置文件)
  • +data (默认是空的)
  • +docs (index,replease版本里面没有文档)
  • +example (几个例子)
  • +lib (activeMQ使用到的lib)
  • +webapps (系统管理员控制台代码)
  • +webapps-demo(系统示例代码)
  • -activemq-all-5.8.0.jar (ActiveMQ的binary)
  • -user-guide.html (部署指引)
  • -LICENSE.txt
  • -NOTICE.txt
  • -README.txt

运行

  • bin目录下启动 :activemq start

  • 终止 :activemq stop

  • ActiveMQ的默认是61616,可以检测这端口判断ActiveMQ是否启动成功:netstat -an|grep 61616。

  • 可以访问web终端http://localhost:8161/admin来查看和管理ActiveMQ。(默认用户名密码是admin/admin,你也可以修改配置,其在ActiveMQ安装目录下的libexec/conf/jetty-real.properties文件中)


1 0
原创粉丝点击