zoukankan      html  css  js  c++  java
  • ActiveMQ

    ActiveMQ

    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。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,进行测试
     
    其他开源JMS供应者:
    jbossmq(jboss 4)
    jboss messaging (jboss 5)
    RabbitMQ
    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在性能上会有一定的优势。
     
    安装:
    目录如下:
    +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
    你可以使用binactivemq.bat(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了。
  • 相关阅读:
    Java函数调用
    Java编程工具的介绍
    Java关键字及作用
    Java面向对象
    Java代码内容概述
    Java构造方法
    Java面向对象
    Java数组概述和定义
    JDBC工具类,基于C3P0的数据库连接池,提供获取连接池、获取连接对象、释放资源和封装事务操作的方法
    图片爬虫工具,可以爬取指定网页的图片
  • 原文地址:https://www.cnblogs.com/gaofz/p/7736622.html
Copyright © 2011-2022 走看看