当前位置:网站首页>【ActiveMQ】activemq简介

【ActiveMQ】activemq简介

2020-12-07 16:34:58 osc_0q9or3wi

前言

    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。

特点

(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,进行测试

消息形式

    对于消息的传递有两种类型:
    一种是点对点的,即一个生产者和一个消费者一一对应;
    另一种是发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。
    JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。



(1)StreamMessage -- Java原始值的数据流

(2)MapMessage--一套名称-值对

(3)TextMessage--一个字符串对象

(4)ObjectMessage--一个序列化的 Java对象

(5)BytesMessage--一个字节的数据流

总结

    消息中间件有很多种,比如还有一个RabbitMQ,还有kafka,在大数据项目中很火的消息件,之前的博客中对kafka也是有介绍的。


版权声明
本文为[osc_0q9or3wi]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4390740/blog/4779139