ActiveMQ笔记(一)-阿里云开发者社区

开发者社区> 嗯哼9925> 正文

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.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台
已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。

下面是它的特性列表

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

1.JPG

几个小提示

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 [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了。



本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2007/05/03/735260.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SAP 电商云 Spartacus UI SSR 里 engine 和 engine instance 的区别
SAP 电商云 Spartacus UI SSR 里 engine 和 engine instance 的区别
5 0
什么是 Time to live TTL
什么是 Time to live TTL
6 0
别摸鱼了,来几道Java面试题!(五)
今天我们继续来看一些Java面试题,基本上是面试的时候常问的,有一定的概率会遇到,希望大家可以面试顺利。
7 0
高频面试题-请聊一下Springboot自动装配原理!
自从SpringBoot的出现,让Java的基本系统搭建过程变得更简单,不需要关心很多的配置文件,也不需要去关心市面上各版本的包存在版本冲突等等的问题,使得SpringBoot让开发人员推崇备至。
5 0
剪裁NV21任意一部分的代码
剪裁NV21任意一部分的代码
6 0
Java 抽象类和接口,看这一篇就够了(2)
Java 抽象类和接口,看这一篇就够了
6 0
Jest 测试框架 expect 和 匹配器 matcher 的设计原理解析
Jest 测试框架 expect 和 匹配器 matcher 的设计原理解析
5 0
Java 抽象类和接口,看这一篇就够了(1)
Java 抽象类和接口,看这一篇就够了
5 0
Java代码复用的三种常用方式:继承、组合和代理(2)
Java代码复用的三种常用方式:继承、组合和代理
5 0
+关注
4098
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载