您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > ActiveMQ入门
ActiveMQ入门作者:一路向北欢迎访问本人百度空间:浣花草堂请关注本人新浪微博:囧言糗事ActiveMQ入门作者:一路向北摘要:本文主要讲述ActiveMQ的基本知识和使用方法,并简单结合spring使用ActiveMQ。一、ActiveMQ特性和使用总览企业消息软件从80年代起就存在,它不只是一种应用间消息传递风格,也是一种集成风格。因此,消息传递可以满足应用间的通知和互相操作。但是开源的解决方案是到最近10年才出现的。ApacheActiveMQ就是其中一种。它使应用间能以异步,松耦合方式交流。本章将向您介绍ActiveMQ。1、ActiveMQ的特性ActiveMQ是Apache软件基金下的一个开源软件,它遵循JMS1.1规范(JavaMessageService),是消息驱动中间件软件(MOM)。它为企业消息传递提供高可用,出色性能,可扩展,稳定和安全保障。ActiveMQ使用Apache许可协议。因此,任何人都可以使用和修改它而不必反馈任何改变。这对于商业上将ActiveMQ用在重要用途的人尤为关键。MOM的工作是在分布式的各应用之间调度事件和消息,使之到达指定的接收者。所以高可用,高性能,高可扩展性尤为关键。ActiveMQ的目标是在尽可能多的平台和语言上提供一个标准的,消息驱动的应用集成。ActiveMQ实现JMS规范并在此之上提供大量额外的特性。下面是一个高层次的特性列表。ActiveMQ入门作者:一路向北欢迎访问本人百度空间:浣花草堂请关注本人新浪微博:囧言糗事·遵循JMS规范----理解ActiveMQ的起始点是明白ActiveMQ的各种特性是JMS1.1规范的实现。本章后面将讨论JMS规范提供的好处和保证。它们包括同步和异步消息传递,一次和只有一次的消息传递,对于预订者的持久消息等等。依附于JMS规范意味着,不论JMS消息提供者是谁,同样的基本特性都是有效的。·连接----ActiveMQ提供各种连接选择,包括HTTP,HTTPS,IP多点传送,SSL,STOMP,TCP,UDP,XMPP等。大量的连接协议支持使之具有更好的灵活性。很多现有的系统使用一种特定协议并且不能改变,所以一个支持多种协议的消息平台降低了使用的门槛。虽然连接很重要,但是和其他容器集成也同样重要。第四章将讲解ActiveMQ的传输连接器(transportconnectors)和网络连接器(networkconnectors)。·可插拔的持久性和安全----ActiveMQ提供多种持久性方案可供选择,也可以完全按自己需求定制验证和授权。例如,ActiveMQ通过KahaDB提供自己的超快速消息持久方案(ultra-fastmessagepersistence),但也支持标准的JDBC方案。ActiveMQ可以通过配置文件提供简单的验证和授权,也提供标准的JAAS登陆模块。·用Java建立消息驱动应用----ActiveMQ最常用在Java应用中,用于发送和接收消息。这部分的内容涉及JMS规范API。·与应用服务器集成----ActiveMQ与java应用服务器集成是很常见的。·客户端APIs----ActiveMQ对多种语言提供客户端API,除了Java之外还有C/C++,.NET,Perl,PHP,Python,Ruby等。这使得ActiveMActiveMQ入门作者:一路向北欢迎访问本人百度空间:浣花草堂请关注本人新浪微博:囧言糗事Q能用在Java之外的其它语言中。很多其它语言都可以通过ActiveMQ提供的客户端API使用ActiveMQ的全部特性。当然,ActiveMQ代理器(broker)仍然是运行在java虚拟机上,但是客户端能够使用其它的被支持的语言。·代理器集群(Brokerclustering)----为了利于扩展,多个ActiveMQbroker能够联合工作。这个方式就是networkofbrokers并且能支持多种拓扑结构。·高级代理器特性和客户端选项----ActiveMQ为代理器和客户端连接提供很多高级的特性。ActiveMQ也可以通过代理器的XML配置文件支持ApacheCamel。·简单的管理----ActiveMQ是为开发者设计的。它并不需要专门的管理工具,因为它提供各种易用且强大的管理特性。有很多方法去监控ActiveMQ的各个方面,可以通过JMX使用JConsole或ActiveMQwebconsole;可以运行ActiveMQ消息报告;可以用命令行脚本;可以通过日志。2、了解JMS用ActiveMQ最好还是了解下JMSJMS公共点对点域发布/订阅域ConnectionFactoryQueueConnectionFactoryTopicConnectionFactoryConnectionQueueConnectionTopicConnectionDestinationQueueTopicSessionQueueSessionTopicSessionMessageProducerQueueSenderTopicPublisherActiveMQ入门作者:一路向北欢迎访问本人百度空间:浣花草堂请关注本人新浪微博:囧言糗事MessageConsumerQueueReceiverTopicSubscriberJMS定义了两种方式:Queue(点对点);Topic(发布/订阅)。·ConnectionFactory是连接工厂,负责创建Connection。·Connection负责创建Session。·Session创建MessageProducer(用来发消息)和MessageConsumer(用来接收消息)。·Destination是消息的目的地。详细的可以网上找些JMS规范(有中文版),本文对这两种方式都会有讲解。二、开始使用ActiveMQ开始使用ActiveMQ并不难。你只要启动代理器并确保它能接受连接和发送消息。ActiveMQ有一些自带的例子。在这部分,你将下载和安装JavaSE,下载和安装ActiveMQ,检查ActiveMQ目录,然后第一次启动ActiveMQ。所需工具包括JDK1.5+、Ant、ActiveMQ。1、JDK下载和安装ActiveMQ要求SunJavaSE1.5或以上。在开始这部分前,必须先安装。JDK的下载和安装就不是本文介绍重点。2、Ant下载和安装Ant可以用来构建和运行ActiveMQ自带例子。Ant可以从ApacheAnt网址下载。URL:点击链接地址并选择正确的压缩包。(tar包是Linux和Unix,zip是WActiveMQ入门作者:一路向北欢迎访问本人百度空间:浣花草堂请关注本人新浪微博:囧言糗事indows)。请按照下列地址安装Ant。URL:。确保你设置好$ANT_HOME环境变量,并将$ANT_HOME/bin放到$PATH环境变量里。安装完毕后你可以运行下面的命令查看Ant版本。你的可能跟我的不太一样,使用Ant的不同版本,不过这没关系。一旦Ant输出如上信息,你就可以确定Ant都安装正确。3、ActiveMQ下载和安装ActiveMQ可以从ApacheActiveMQ网站下,URL:点击地址到5.4.3版本,你可以看到tar和zip格式包。(tar包是Linux和Unix,zip是Windows)。下载完后解压。我的解压到了E:\tools\apache-activemq-5.4.3从命令行进入apache-activemq-5.4.3目录,输入如下命令。ActiveMQ入门作者:一路向北欢迎访问本人百度空间:浣花草堂请关注本人新浪微博:囧言糗事·LICENSE----ApacheSoftwareFoundation(ASF)要求的一个文件.包含ActiveMQ使用的所有库的许可证.·NOTICE----ASF要求的另一个文件.包含ActiveMQ使用的所有库的版权信息.·README.txt一个包含一些URL的文档,使新手可以使用ActiveMQ.·WebConsole-README.txt----包含使用ActiveMQwebconsole使用说明.·activemq-all-5.4.3.jar---一个jar包包含ActiveMQ所有东西。放在这里是方便你使用它。·bin----包含二进制或可运行文件。ActiveMQ启动脚本就放在里面。ActiveMQ入门作者:一路向北欢迎访问本人百度空间:浣花草堂请关注本人新浪微博:囧言糗事·conf--ActiveMQ所有的配置信息。·data--日志和持久化文件存储地方。·docs--包含一个简单的index.html,该文件指向ActiveMQ网站。·example----ActiveMQ例子。我们用这些例子来简单的测试ActiveMQ。·lib----所有ActiveMQ所需库。·user-guide.html----一个简单指引启动ActiveMQ和运行例子。·webapps----ActiveMQwebconsole和一些网络演示。下一部分将启动ActiveMQ并用这些例子验证它。启动ActiveMQ:在命令行中输入一下命令,或者直接运行bin目录下的activemq.bat文件ActiveMQ入门作者:一路向北欢迎访问本人百度空间:浣花草堂请关注本人新浪微博:囧言糗事刚才的命令启动了ActiveMQ代理器和一些连接器,使得客户端可以通过一些诸如TCP,SSL,STOMP,XMPP协议连接进来。请注意现在ActiveMQ已经启动,并且客户端可以通过TCP61616端口连接进来。最好的方法是使用ActiveMQ自带的例子来发送和接收消息。下面我们来运行第一个例子。4、运行ActiveMQ第一个例子这个例子是模拟生产者消费者的例子,生产者产生2000条信息,然后关闭,消费者消费2000信息,然后关闭。下面我们演示一下。重新打开一个DOS窗口,切到MQ目录的example目录下,我的是E:\tActiveMQ入门作者:一路向北欢迎访问本人百度空间:浣花草堂请关注本人新浪微博:囧言糗事ools\apache-activemq-5.4.3\example然后输入一下命令最后一行显示程序在等待2000个message。这是一个消费者。再重新打开DOS窗口并且到MQ目录下的example目录,输入一下命令antproducer,这个是生产者。输入命令之后你回看到刚才打开的两个DOS窗口打印出一堆东西ActiveMQ入门作者:一路向北欢迎访问本人百度空间:浣
本文标题:ActiveMQ入门
链接地址:https://www.777doc.com/doc-6125477 .html