Active MQ教程+配置

阅读: 评论:0

2024年2月4日发(作者:)

Active MQ教程+配置

ActiveMQ-陈波ActiveMQ是一个基于Apcache2.0licenced发布,开放源码的JMS产品。其特点为:1)提供点到点消息模式和发布/订阅消息模式;2)支持JBoss、Geronimo等开源应用服务器,支持Spring框架的消息驱动;3)新增了一个P2P传输层,可以用于创建可靠的P2PJMS网络连接;4)拥有消息持久化、事务、集群支持等JMS基础设施服务。Apacheactivemq是最受欢迎和最强大的开源消息中间件。Apacheactivemq是非常快速的,支持多种跨客户端语言和协议,并且还有许多先进功能。Apacheactivemq完全遵守JMS1.1和J2EE1.4规范。Apacheactivemq是在Apache2.0License许可下发布的。一.ActiveMQ是什么?MQ是一个完全支持JMS1.1和J2EE1.4规范的JMSProvider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。下面是它的特性列表1.多种语言和协议编写客户端。语言:Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议:OpenWire,StompREST,WSNotification,XMPP,AMQP2.完全支持JMS1.1和J2EE1.4规范(持久化,XA消息,事务)3.对Spring的支持,ActiveMQ可以很容得内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性4.通过了常见J2EE服务器(如Geronimo,JBoss4,GlassFish,WebLogic)的测试,其中通过JCA1.5resourceadaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE1.4商业服务器上5.支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA6.支持通过JDBC和journal提供高速的消息持久化7.从设计上保证了高性能的集群,客户端-服务器,点对点8.支持Ajax9.支持与Axis的整合10.可以很容易得调用内嵌JMSprovider,进行测试二.ActiveMQ的竞争者

1,其他开源JMSprovider(资料来自):jbossmq(jboss4)jbossmessaging(jboss5)ember26,2005mantamqubermqSomnifugiJMS2005-7-27开源的JMSProvider大部分都已经停止发展了,剩下的几个都是找到了东家,和某种J2EE服务器挂钩,比如jbossmq与jboss,joram与jonas(objectweb组织),ActiveMQ与Geronimo(ASFAPACHE基金组织),而在这3个之间,从网络底层来看,只有ActiveMQ使用了NIO,单从这个角度来看ActiveMQ在性能上会有一定的优势。2.商业JMSproviderIBMWebSphereMQBEAWebLogicJMSOracleAQNonStopServerforJavaMessageService(JMS)SunJavaSystemMessageQueueSonicjmsTIBCOEnterpriseForJMSiLinkMQ(国内)现在的商业J2EE应用服务器大部分都会有JMSProvider的实现,毕竟应用服务器都已经花费不薄,也不在乎在里面送一个JMSProvider了,当然还是有独立的比如IBMWebSphereMQ,SonicJMS,前者肯定是商用MQ(这个概念不仅仅是JMSProvier了,只能说JMS只是它提供的一个应用)中间的巨无霸了。从这点来看,ActiveMQ明显的竞争者并不多,因为它是作为独立的开源JMSProvider出现的,很容易被用于多种结构设计中,使用ActiveMQ作为默认JMSProvider的开源项目有ServiceMix,Geronimo.三.安装ActiveMQ首先去/下载最新版本4.1.0release,解压(或者)目录如下:+bin+conf+data+docs+example(windows下面的bat和unix/linux下面的sh)(activeMQ配置目录,包含最基本的activeMQ配置文件)(默认是空的)(index,replease版本里面没有文档,-.-b不知道为啥不带)(几个例子

+lib(activemMQ使用到的lib)-(ActiveMQ的binary)-你可以使用(activemq)启动,如果一切顺利,你就会看见类似下面的信息:几个小提示1.这个仅仅是最基础的ActiveMQ的配置,很多地方都没有配置因此不要直接使用这个配置用于生产系统2.有的时候由于端口被占用,导致ActiveMQ错误,ActiveMQ可能需要以下端口1099(JMX),61616(默认的TransportConnector)

3.如果没有物理网卡,或者MS的LoopBackAdpaterMulticast会报一个错误四.测试你的ActiveMQ首先安装ant,在环境变量中path中配置D:Javaapache-ant-1.7.0bin由于ActiveMQ是一个独立的jmsprovider,所以我们不需要其他任何第三方服务器就可以马上做我们的测试了.编译example目录下面的程序ProducerTool/ConsumerTool是JMS参考里面提到的典型应用,Producer产生消息,Consumer消费消息,而且这个例子还可以加入参数帮助你测试刚才启动的本地ActiveMQ或者是远程的ActiveMQProducerTool[url]broker的地址,默认的是tcp://localhost:61616[true|flase]是否使用topic,默认是false[subject]subject的名字,默认是T[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的名字,默认是T[durabl]是否持久化消息,默认是false[maxiumMessages]接受最大消息数量,0表示不限制[clientID]durable为true的时候,需要配置clientID[transacte]是否采用事务[sleepTime]接受消息中间的休眠时间,默认是0,onMeesage方法不休眠[receiveTimeOut]接受超时我们可以这样使用:先启动activeMQ,再打开两个命令窗口,都进入D:activemqexample,一个运行:antconsumer,一个运行:antproducer,如果成功发送/接收了消息就OK了。安装好ActiveMQ后,肯定第一个想法就是把这个JMSProvider跑起来,然后运行它自带的例子代码来验证其是否安装成功,通过阅读其官网上的文档,实验如下:1)先将ActiveMQ跑起来,运行出一个JMS的代理,它负责消息的接收和发送,就是执行bin目录下的activemq批处理命令。2)打开两个cmd窗口,都定位到example目录下,第一个运行antconsumer,第二个运行antproducer,就可以看到如下的信息被生产和消费,核心就是。结果如下图:

Active MQ教程+配置

本文发布于:2024-02-04 18:14:17,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170704165754398.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:消息   支持   配置   默认   使用
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23