ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)

 

1、什么是ActiveMQjava

度娘给出的定义:spring

Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;因为ActiveMQ是一个纯Java程序,所以只须要操做系统支持Java虚拟机,ActiveMQ即可执行。

ActiveMQ的官网打出的标语(如上图):apache

Flexible & Powerful Open Source Multi-Protocol Messaging

大意是:兼容性好而且功能强大的开源多协议消息中间件,那具体是怎么体现的呢?
1.兼容性好:
ActiveMQ能够很容易内嵌到使用Spring的系统里面去,
经过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中经过JCA 1.5 resource adaptors的配置,可让ActiveMQ能够自动的部署到任何兼容J2EE 1.4 商业服务器上
2.功能强大:
支持经过JDBC和journal提供高速的消息持久化,
支持客户端-服务器,点对点
支持Ajax
支持与Axis的整合, WebServices
能够很容易的调用内嵌JMS provider进行测试
从设计上保证了高性能的集群安全

3.多协议:
应用协议有OpenWire,Stomp REST,WS Notification,XMPP,AMQP,
还支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
总之一句话,ActiveMQ是一个消息中间件而且很好很强大,须要用到消息中间件的时候咱们选他就对了。服务器

2、ActiveMQ的名词解释并发

在JMS规范中,全部的标准定义都在javax.jms包中,它的功能实现和咱们即将要写的代码中都会用到下面的内容:tcp

1.Destination(目的地)
用于对Message进行管理的对象,由ActiveMQ负责维护。
MessageProducer须要指定Destination才能发送消息,MessageConsumer须要指定Destination才能接收消息。
2.Producer(消息生产者)
负责生成消息并发送目的地。应用接口为MessageProducer。
3.Consumer(消息消费者)
负责从目的地中消费【处理|监听|订阅】Message。应用接口为MessageConsumer
4.Message(消息)
消息封装一次通讯的内容。常见类型有:StreamMessage、BytesMessage、TextMessage、ObjectMessage、MapMessage。
5.ConnectionFactory(链接工厂)
用于建立链接的工厂类型
6.Connection(链接)
用于创建访问ActiveMQ链接的类型, 由连接工厂建立。
7.Session(会话)
一次持久有效有状态的访问。由connection建立,是具体操做消息的基础支撑。
8.Queue & Topic
Queue是队列目的地,Topic是主题目的地。都是Destination的子接口。
Queue特色: 队列中的消息,默认只能由惟一的一个消费者处理。一旦处理,消息删除。
Topic特色:主题中的消息,会发送给全部的消费者同时处理。只有在消息能够重复处理的业务场景中可以使用。
9.PTP(Point to Point,点对点消息模型)
就是基于Queue实现的消息处理方式。
10.PUB & SUB(Publish & Subscribe ,消息的发布/订阅模型)
是基于Topic实现的消息处理方式。ide

3、Windows下安装ActiveMQ性能

官网上下载便可:测试

下载后直接解压缩直接就能用(免安装)。

它的目录结构:

bin/是服务启动相关的命令文件所在目录

data/是默认持久化文件所在目录

docs/里面放的是用户手册

conf/是配置文件所在目录,任何配置文件修改后,必须重启ActiveMQ,才能生效.
有几个配置文件须要提下,后面会用到:
1.activemq.xml
就是spring配置文件。配置的是ActiveMQ应用使用的默认对象组件.
transportConnectors标签 - 配置连接端口信息的. 其中的端口号61616是ActiveMQ对外发布的tcp协议访问端口. 就是java代码访问ActiveMQ时使用的端口.

配置安全认证和持久化都是在这个文件里面。

2.jetty.xml
spring配置文件, ActiveMQ使用的是jetty提供HTTP服务,所以须要该文件用于配置jetty服务器的默认对象组件.

3.users.properties
内容信息: 用户名=密码

是用于配置客户端经过协议访问ActiveMQ时,使用的用户名和密码.

4.groups.properties

内容信息: 用户组=用户1,用户2(多个用户中间用逗号隔开)

相似于角色的概念,也相似于操做系统用户所在的用户组

4、启动服务,并到页面控制台查看
双击bin\win64目录下的activemq批处理文件,便可启动(若是系统是32位的,就启动bin\win32目录下的)。

启动完成后,能够进入页面控制台查看。

同RabbitMQ相似,ActiveMQ也默认支持一个网页版的服务查看站点,能够实现ActiveMQ中消息相关数据的页面查看.
ActiveMQ网页版管理站点的默认端口8161端口就配置在jetty.xml文件中。

访问http://localhost:8161/admin/,输入默认的用户名和密码admin/admin,便可看到管理台页面。

能够看到在前面名词解释中提到的内容

 

 

至此,ActiveMQ就安装完了。