《2022年ActiveMQ教程+配置[归 .pdf》由会员分享,可在线阅读,更多相关《2022年ActiveMQ教程+配置[归 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ActiveMQ-陈波ActiveMQ 是一个基于 Apcache 2.0 licenced发布,开放源码的 JMS产品。其特点为:1)提供点到点消息模式和发布/订阅消息模式;2)支持 JBoss、Geronimo 等开源应用服务器,支持 Spring 框架的消息驱动;3)新增了一个 P2P传输层,可以用于创建可靠的P2P JMS网络连接;4)拥有消息持久化、事务、集群支持等JMS基础设施服务。Apache activemq是最受欢迎和最强大的开源消息中间件。Apache activemq是非常快速的,支持多种跨客户端语言和协议,并且还有许多先进功能。Apacheactivemq 完全遵守 J
2、MS 1.1 和 J2EE 1.4规范。Apache activemq是在 Apache 2.0License 许可下发布的。一.ActiveMQ是什么?ActiveMQis the mostpopularand powerfulopen sourceMessageBus.ActiveMQ是一个完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider实现,尽管 JMS规范出台已经是很久的事情了,但是 JMS 在当今的 J2EE 应用中间仍然扮演着特殊的地位。下面是它的特性列表1.多种语言和协议编写客户端。语言:Java,C,C+,C#,Ruby,Perl,Python,P
3、HP。应用协议:OpenWire,StompREST,WSNotification,XMPP,AMQP2.完全支持 JMS1.1 和 J2EE 1.4 规范(持久化,XA 消息,事务)3.对 Spring 的支持,ActiveMQ可以很容得内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性4.通过了常见 J2EE 服务器(如 Geronimo,JBoss4,GlassFish,WebLogic)的测试,其中通过 JCA 1.5 resourceadaptors的配置,可以让 ActiveMQ可以自动的部署到任何兼容 J2EE 1.4商业服务器上5.支持多种传送协议:in-V
4、M,TCP,SSL,NIO,UDP,JGroups,JXTA6.支持通过 JDBC 和 journal提供高速的消息持久化7.从设计上保证了高性能的集群,客户端-服务器,点对点8.支持 Ajax9.支持与 Axis 的整合10.可以很容易得调用内嵌JMS provider,进行测试二.ActiveMQ的竞争者名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 5 页 -1,其他开源JMS provider(资料来自java-):jbossmq(jboss4)jboss messaging(jboss5)joram-4.3.212006-09-22openjms-0.7.7-alpha
5、-3.zipDecember26,2005mantamqubermqSomnifugiJMS2005-7-27开源的 JMS Provider大部分都已经停止发展了,剩下的几个都是找到了东家,和某种 J2EE服务器挂钩,比如 jbossmq与 jboss,joram与 jonas(objectweb组织),ActiveMQ与Geronimo(ASFAPACHE 基金组织),而在这 3 个之间,从网络底层来看,只有 ActiveMQ使用了 NIO,单从这个角度来看ActiveMQ在性能上会有一定的优势。2.商业 JMS providerIBM WebSphereMQBEA WebLogicJMS
6、Oracle AQNonStopServerfor Java MessageService(JMS)Sun Java SystemMessageQueueSonic jmsTIBCO EnterpriseFor JMSiLinkMQ(国内)现在的商业 J2EE 应用服务器大部分都会有JMS Provider的实现,毕竟应用服务器都已经花费不薄,也不在乎在里面送一个JMS Provider了,当然还是有独立的比如IBM WebSphereMQ,SonicJMS,前者肯定是商用MQ(这个概念不仅仅是JMS Provier了,只能说 JMS 只是它提供的一个应用)中间的巨无霸了。从这点来看,Acti
7、veMQ明显的竞争者并不多,因为它是作为独立的开源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下面
8、的 sh)+conf(activeMQ配置目录,包含最基本的 activeMQ配置文件)+data(默认是空的)+docs(index,replease版本里面没有文档,-.-b不知道为啥不带)+example(几个例子名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -+lib(activemMQ使用到的 lib)-apache-activemq-4.1-incubator.jar(ActiveMQ的 binary)-LICENSE.txt-NOTICE.txt-README.txt-user-guide.html你可以使用 binactivemq.bat(activem
9、q)启动,如果一切顺利,你就会看见类似下面的信息:几个小提示1.这个仅仅是最基础的ActiveMQ的配置,很多地方都没有配置因此不要直接使用这个配置用于生产系统2.有的时候由于端口被占用,导致 ActiveMQ错误,ActiveMQ可能需要以下端口1099(JMX),61616(默认的 TransportConnector)名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5 页 -3.如果没有物理网卡,或者 MS 的 LoopBackAdpaterMulticast会报一个错误四.测试你的 ActiveMQ首先安装 ant,在环境变量中 path 中配置 D:Javaapache
10、-ant-1.7.0bin由于 ActiveMQ是一个独立的 jms provider,所以我们不需要其他任何第三方服务器就可以马上做我们的测试了.编译 example目录下面的程序ProducerTool/ConsumerTool是JMS 参考里面提到的典型应用,Producer产生消息,Consumer消费消息,而且这个例子还可以加入参数帮助你测试刚才启动的本地ActiveMQ或者是远程的 ActiveMQProducerToolurlbroker的地址,默认的是 tcp:/localhost:61616true|flase是否使用 topic,默认是 falsesubjectsubjec
11、t的名字,默认是 TOOL.DEFAULTdurabl是否持久化消息,默认是 falsemessagecount发送消息数量,默认是 10messagesize消息长度,默认是 255clientIDdurable为 true的时候,需要配置 clientIDtimeToLive消息存活时间sleepTime发送消息中间的休眠时间transacte是否采用事务ConsumerToolurlbroker的地址,默认的是 tcp:/localhost:61616true|flase是否使用 topic,默认是 falsesubjectsubject的名字,默认是 TOOL.DEFAULTdurab
12、l是否持久化消息,默认是 falsemaxiumMessages接受最大消息数量,0 表示不限制clientIDdurable为 true的时候,需要配置 clientIDtransacte是否采用事务sleepTime接受消息中间的休眠时间,默认是 0,onMeesage方法不休眠receiveTimeOut接受超时我们可以这样使用:先启动 activeMQ,再打开两个命令窗口,都进入D:activemqexample,一个运行:antconsumer,一个运行:ant producer,如果成功发送/接收了消息就 OK 了。安装好 ActiveMQ后,肯定第一个想法就是把这个JMS Provider跑起来,然后运行它自带的例子代码来验证其是否安装成功,通过阅读其官网上的文档,实验如下:1)先将 ActiveMQ跑起来,运行出一个 JMS 的代理,它负责消息的接收和发送,就是执行 bin目录下的 activemq批处理命令。2)打开两个 cmd 窗口,都定位到 example目录下,第一个运行ant consumer,第二个运行 ant producer,就可以看到如下的信息被生产和消费,核心就是builder.xml。结果如下图:名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 5 页 -