登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

820716的博客-知识分享 向上的心!

知识分享 开阔向上的心胸! http://www.820716.net/blog

 
 
 

日志

 
 

ActiveMQ 是Apache出品 能力强劲的开源消息总线  

2010-08-20 08:40:06|  分类: 默认分类 |  标签: |举报 |字号 订阅

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

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的竞争者

  其他开源JMS供应商
  jbossmq(jboss 4)
  jboss messaging (jboss 5)
  joram-4.3.21 2006-09-22
  openjms-0.7.7-alpha-3.zip December 26, 2005
  mantamq
  ubermq
  SomnifugiJMS 2005-7-27
  开源的JMS Provider大部分都已经停止发展了,剩下的几个都是找到了东家,和某种J2EE 服务器挂钩,比如jboss mq 与jboss,joram与jonas(objectweb组织),ActiveMQ 与Geronimo(ASF APACHE基金组织),而在这3个之间,从网络底层来看,只有ActiveMQ使用了NIO,单从这个角度来看ActiveMQ在性能上会有一定的优势。
  商业JMS供应商
  IBM WebSphere MQ
  BEA WebLogic JMS
  Oracle AQ
  NonStop Server for Java Message Service(JMS)
  Sun Java System Message Queue
  Sonic jms
  TIBCO Enterprise For JMS
  iLinkMQ (国内)
  TongLink/Q(北京东方通科技)
  现在的商业J2EE 应用服务器大部分都会有JMS Provider的实现,毕竟应用服务器都已经花费不薄,也不在乎在里面送一个JMS Provider了,当然还是有独立的比如IBM WebSphere MQ,Sonic JMS ,前者肯定是商用MQ(这个概念不仅仅是JMS Provier了,只能说JMS 只是它提供的一个应用)中间的巨无霸了。
  从这点来看,ActiveMQ明显的竞争者并不多,因为它是作为独立的开源JMS Provider出现的,很容易被用于多种结构设计中,使用ActiveMQ作为默认JMS Provider的开源项目有ServiceMix,Geronimo.
 
 

安装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版本里面没有文档,-.-b不知道为啥不带)
  +example (几个例子
  +lib (activemMQ使用到的lib)
  -apache-activemq-4.1-incubator.jar (ActiveMQ的binary)
  -LICENSE.txt
  -NOTICE.txt
  -README.txt
  -user-guide.html
  你可以使用bin\activemq.bat(activemq) 启动,如果一切顺利,你就会看见类似下面的信息:
  
ActiveMQ 是Apache出品 能力强劲的开源消息总线 - ggmmchou - 820716的博客-知识分享 向上的心!
 
 
几个小提示
  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:\activemq\example,一个运行:ant consumer,一个运行:ant producer,如果成功发送/接收了消息就OK了。
 
 
 
 

知识共享的力量! 知识要有产权;不分享心里不安!
 
  评论这张
 
阅读(1098)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018