ActiveMQ是用来解决服务直接的相互直接调用的问题,用来解耦合.它的作用就相当于是中介的作用,使用它来发送消息和接收消息,服务直接调用的话都通过它来实现.
如果不使用它的话,服务直接直接相互调用的话,在启动服务的时候就有先后顺序,不然就会报错,如果三个服务直接都互相调用那就没法启动了,所以得使用activeMQ
什么是ActiveMq
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。JMS就是sun公司那会儿定义的规范一套接口ActiveMQ就是实现了那套接口的实现类.
主要特点:
1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
6. 支持通过JDBC和journal提供高速的消息持久化
7. 从设计上保证了高性能的集群,客户端-服务器,点对点
8. 支持Ajax
9. 支持与Axis的整合
10. 可以很容易得调用内嵌JMS provider,进行测试
ActiveMQ的消息形式
对于消息的传递有两种类型:
一种是点对点的,即一个生产者和一个消费者一一对应;
另一种是发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。
JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。用的最对的就是TextMessage字符串形式
· StreamMessage -- Java原始值的数据流
· MapMessage--一套名称-值对
· TextMessage--一个字符串对象
· ObjectMessage--一个序列化的 Java对象
· BytesMessage--一个字节的数据流
ActiveMQ的安装
进入http://activemq.apache.org/下载ActiveMQ

安装步骤Linux版,因为它是java开发的,所以得有java环境
安装jdk步骤https://blog.csdn.net/kxj19980524/article/details/84976803

然后把MQ压缩包上传到linux,并解压它

进来之后有个jar包,如果你写项目使用到spring的时候客户端别使用这个jar包,因为这个包里有spring的类,但是缺少方法,启动就会报错,如果不使用spring的话就无所谓,所以在项目中使用它的话,导5.11.2这个版本的,它里面没spring的类.
![]()

进入到bin目录下,直接启动就可以了

查看启动状态,和关闭它

然后启动,关闭防火墙

然后访问8161端口就会访问成功

如果访问报503错误,就看你当前用户名叫啥,然后vim /etc/hosts进去,hosts是隐藏的目录别用快捷方式,自己手打,进去后,后面加上自己用户名然后保存,再重启一下MQ就可以访问了

查看自己的用户名

然后把用户名加到后面就可以了

然后进行登录用户名密码都是admin

如果在点击queues和topics报错的话,也按照上面把自己用户名加上重启就可以了

ActiveMQ是Apache出品的流行开源消息总线,支持多种语言和协议,完全符合JMS1.1和J2EE1.4规范,具备高性能集群、消息持久化等功能。本文详细介绍了ActiveMQ的安装、使用及与Spring的整合。

2138

被折叠的 条评论
为什么被折叠?



