欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-10 12:45:20
一、什么是ActiveMQ 度娘给出的定义: ActiveMQ的官网打出的标语(如上图): 大意是:兼容性好并且功能强大的开源多协议消息中间件,那具体是怎么体现的呢?1.兼容性好:ActiveMQ可以很容易内嵌到使用Spring的系统里面去,通过了常见J2EE服务器(如 Geronimo,JBoss ......

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

 

一、什么是activemq

度娘给出的定义:

apache activemq是apache软件基金会所研发的开放源代码消息中间件;由于activemq是一个纯java程序,因此只需要操作系统支持java虚拟机,activemq便可执行。

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

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是一个消息中间件并且很好很强大,需要用到消息中间件的时候我们选他就对了。

二、activemq的名词解释

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

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实现的消息处理方式。

三、windows下安装activemq

到上下载即可:

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

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

它的目录结构:

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

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入门系列一:认识并安装ActiveMQ(Windows下)

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

4.groups.properties

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

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

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

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

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

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

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

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

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

可以看到在前面名词解释中提到的内容

 

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

 

至此,activemq就安装完了。