ActiveMQ是一款开源消息总线,MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介。可以帮助用户进行消息的规范和实现,软件的功能非常齐全,完全支持JMS1.1和J2EE 1.4规范,软件可以在哎用户进行编写时提供帮助。
ActiveMQ官方版是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。
·JMS1.1
·J2EE 1.4
·AMQP 1.0
·Java
·C
·C++
·C#
·Python
·Ruby
·Perl
1、多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
2、ActiveMQ官方版完全支持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的规范,我们首先需要获得一个JMS connection factory.,通过这个connection factory来创建connection.在这个基础之上我们再创建session, destination, producer和consumer。因此主要的几个步骤如下:
1、获得JMS connection factory. 通过我们提供特定环境的连接信息来构造factory。
2、利用factory构造JMS connection
3、启动connection
4、通过connection创建JMS session.
5、指定JMS destination.
6、创建JMS producer或者创建JMS message并提供destination.
7、创建JMS consumer或注册JMS message .
8、发送和接收JMS message.
9、关闭所有JMS资源,包括connection, session, producer, consumer等。