ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。
⒈ 多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
⒉ 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
⒊ 对spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
⒋ 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
⒌ 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
⒍ 支持通过JDBC和journal提供高速的消息持久化
⒎ 从设计上保证了高性能的集群,客户端-服务器,点对点
⒏ 支持Ajax
⒐ 支持与Axis的整合
⒑ 可以很容易的调用内嵌JMS provider,进行测试
1)JMS:java消息服务(JavaEE)
2)交换规范:HttpClient,Dubbo,Hessian,JMS,Webservice........
JMS两种消息模式
1、点对点模式:
三个角色:消息队列(Queue)、发送者、接收者。
特点:(1):每个消息只有一个接收者,一旦被接受,消息不再保存在队列中。(2):发送者与接收者在时间上没有任何依赖(3):接收者接收到消息后需要想队列应答
2、发布/订阅模式
三个角色:主题(Topic)、发布者(Publisher)、订阅者(Subscriber)可能有多个订阅者
特点:(1):每个消息有多个订阅者。(2):发布者和订阅者有时间上的依赖,要有订阅者,才能接受发布者的消息。(3):为了接收消息,订阅者必须保持运行状态。
JMS编程模型:
ConectionFactory:创建Conection工厂,分为:QueueConnectionFactory和TopicConectionFactory。
Destination:对于发送者来来说,是消息的来源,类型两种:Queue、Topic。
Connection:表示客户端和JMS中间件建立的链接
Session:消息 操作接口。通过该对象创建的发送者、接收者、消息。提供食物功能。
然后就是发送者和接收者了。
消息类型:
TextMessage文本消息、ObjectMessage、MapMessage、batyMessage、StreamMessage
1、官网下载地址:http://activemq.apache.org/download.html
我这边的MQ是5.15.7的版本,所以对应的JDK也得是8以上,(嫌麻烦的也可以从这里下载:https://download.csdn.net/download/qq_39693164/11032255)
2、配置(conf目录下)
1)/conf/jetty-realm.properties用户名密码设置,这边是amdin,admin
3、/conf/activemq.xml 这边可以开启JMX监控(注:不是必须的)
4、启动
直接运行bin目录下:activemq.bat
也可以通过cmd去运行,cd到mq的bin目录下,(activemq start命令启动ok),(Tip:出现一连串的INFO:,最底下有8161端口,http://localhost:8161/输入设置的用户名密码就可登陆)。
附:这边有一个SpringBoot和ActiveMQ的小项目
下载参考地址:https://download.csdn.net/download/qq_39693164/11032446。
欢迎评论和问答,小编看到回及时回复。emmmm.......