ActiveMQ实践:特性列表和安装

日期: 2010-10-27 来源:TechTarget中国 英文

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

  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

  首先去http://activemq.apache.org/download.html

  下载最新版本4.1.0release, 解压apache-activemq-4.1-incubator.zip(或者apache-activemq-4.1-incubator.tar.gz)目录如下:   

  +bin (windows下面的bat和unix/linux下面的sh)  
 
  +conf (activeMQ配置目录,包含最基本的activeMQ配置文件)   

  +data (默认是空的)  
 
  +docs (index,replease版本里面没有文档,不知道为啥不带) 
 
  +example (几个例子)   

  +lib (activemMQ使用到的lib)  
 
  -apache-activemq-4.1-incubator.jar (ActiveMQ的binary)   

  -LICENSE.txt
  
  -NOTICE.txt
  
  -README.txt
  
  -user-guide.html
  
  你可以使用binactivemq.bat(activemq) 启动,如果一切顺利,你就会看见类似下面的信息:
   
  运行信息

  几个小提示  
 
  1. 这个仅仅是最基础的ActiveMQ的配置,很多地方都没有配置因此不要直接使用这个配置用于生产系统
  
  2. 有的时候由于端口被占用,导致ActiveMQ错误,ActiveMQ可能需要以下端口1099(JMX),61616(默认的TransportConnector)  
 
  3. 如果没有物理网卡,或者MS的LoopBackAdpater Multicast会报一个错误

   测试你的ActiveMQ

  由于ActiveMQ是一个独立的jms provider,所以我们不需要其他任何第三方服务器就可以马上做我们的测试了。编译example目录下面的程序ProducerTool/ConsumerTool是JMS参考里面提到的典型应用,Producer产生消息,Consumer消费消息,而且这个例子还可以加入参数帮助你测试刚才启动的本地ActiveMQ或者是远程的ActiveMQ。 

  ProducerTool broker的地址,默认的是tcp://localhost:61616  
 
  [true|flase] 是否使用topic,默认是false  
 
  [subject] subject的名字,默认是TOOL.DEFAULT  
 
  [durabl] 是否持久化消息,默认是false  
 
  [messagecount] 发送消息数量,默认是10  
 
  [messagesize] 消息长度,默认是255
  
  [clientID] durable为true的时候,需要配置clientID  
 
  [timeToLive] 消息存活时间  
 
  [sleepTime] 发送消息中间的休眠时间  
 
  [transacte] 是否采用事务
  
  ConsumerTool broker的地址,默认的是tcp://localhost:61616   

  [true|flase] 是否使用topic,默认是false   

  [subject] subject的名字,默认是TOOL.DEFAULT   

  [durabl] 是否持久化消息,默认是false  
 
  [maxiumMessages] 接受最大消息数量,0表示不限制  
 
  [clientID] durable为true的时候,需要配置clientID  
 
  [transacte] 是否采用事务  
 
  [sleepTime] 接受消息中间的休眠时间,默认是0,onMeesage方法不休眠  
 
  [receiveTimeOut] 接受超时  
 
  我们可以这样使用:   

  先启动activeMQ,再打开两个命令窗口,都进入D:activemqexample,一个运行:ant consumer,一个运行:ant producer,如果成功发送/接收了消息就OK了。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐