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

c03dd9a7beb75504d858a7a7d8cb9055.png

一、什么是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

到官网上下载即可:

4248e8aba750bda62287cb9d0d05a487.png

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

它的目录结构:

3191d7fc9dd9f2772166b0428561e677.png

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

内容信息: 用户名=密码

8d6cba4df448220a18fd91675af5b638.png

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

4.groups.properties

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

9818ece9e6807fb475d4047096e72355.png

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

四、启动服务,并到页面控制台查看

双击bin\win64目录下的activemq批处理文件,即可启动(如果系统是32位的,就启动bin\win32目录下的)。

b6e646fe8efd0b7b82e516b4bd9bb676.png

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

同RabbitMQ类似,ActiveMQ也默认支持一个网页版的服务查看站点,可以实现ActiveMQ中消息相关数据的页面查看.

ActiveMQ网页版管理站点的默认端口8161端口就配置在jetty.xml文件中。

afacb7dcd7829c488ed59f1278e8a32c.png

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

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

e31d878e3818bde6d5275d4f330fa8bd.png

至此,ActiveMQ就安装完了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值