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
到上下载即可:
下载后直接解压缩直接就能用(免安装)。
它的目录结构:
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(多个用户中间用逗号隔开)
类似于角色的概念,也类似于操作系统用户所在的用户组
四、启动服务,并到页面控制台查看
双击bin\win64目录下的activemq批处理文件,即可启动(如果系统是32位的,就启动bin\win32目录下的)。
启动完成后,可以进入页面控制台查看。
同rabbitmq类似,activemq也默认支持一个网页版的服务查看站点,可以实现activemq中消息相关数据的页面查看.
activemq网页版管理站点的默认端口8161端口就配置在jetty.xml文件中。
访问,输入默认的用户名和密码admin/admin,即可看到管理台页面。
可以看到在前面名词解释中提到的内容
至此,activemq就安装完了。
上一篇: 关于简单的php源代码泄露漏洞的发掘
下一篇: 接入腾讯云直播相关操作以及概念