ActiveMQ笔记(一)

名流时尚服饰 dior 夏季 男装 男士t恤衬衫卫衣休闲裤牛仔裤英伦

socool 搜酷女包◆任选两款正价包包邮◆5周年店庆◆5折疯抢

紫紫 超人气包邮特价创意家居收纳压缩袋饰品服饰配件包包

socool 搜酷女包◆任选两款正价包包邮◆5周年店庆◆5折疯抢

dior 风格 CF Homme 男装 男士t恤衬衫卫衣休闲裤牛仔裤英伦

【1970流行馆】(春装日韩女装瑞丽女装)

非凡瑞丽衣衫 日韩 瑞丽 女装 韩版 2011 欧美 米娜 春夏装 女装

芮诗凯诗国际家居馆\欧美田园家居\复古家居\韩式家居\乡村家居

【徽商联盟】cool-百衣百顺 续写男装 ★冲双冠★两件包邮★

美美箱包专卖店 全场19元起,满58免运费,麦包包韩版女包新款。

一.   ActiveMQ是什么

ActiveMQ is the most popular and powerful open source Message Bus.ActiveMQ 是一个完全支持JMS1.1J2EE 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.1J2EE 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. 支持通过JDBCjournal提供高速的消息持久化
  7. 从设计上保证了高性能的集群,客户端-服务器,点对点
  8. 支持Ajax
  9. 支持与Axis的整合
  10. 可以很容易得调用内嵌JMS provider,进行测试

二.   ActiveMQ的竞争者   

1其他开源 JMS provider(资料来自 java-source.net) :
        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,joramjonas(objectweb组织),ActiveMQ Geronimo(ASF APACHE基金组织),而在这3个之间,从网络底层来看,只有ActiveMQ使用了NIO,单从这个角度来看ActiveMQ在性能上会有一定的优势。     

2.商业JMS provider
        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 (
国内)

 现在的商业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
下面的batunix/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) 启动,如果一切顺利,你就会看见类似下面的信息:

1.JPG

几个小提示

1. 这个仅仅是最基础的ActiveMQ的配置,很多地方都没有配置因此不要直接使用这个配置用于生产系统

2. 有的时候由于端口被占用,导致ActiveMQ错误,ActiveMQ可能需要以下端口1099(JMX),61616(默认的TransportConnector)

3. 如果没有物理网卡,或者MSLoopBackAdpater Multicast会报一个错误

四.   测试你的ActiveMQ

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

ProducerTool [url] 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 [url] 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了。


posted on 2007-05-03 17:50  Phinecos(洞庭散人)  阅读(18081)  评论(0编辑  收藏  举报

导航