ActiveMQ在spring中整合实例讲解

一、ActiveMQ介绍

        (1)MQ:Message Queue就是消息队列。

(2)ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。

(3)ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,尽管JMS规范出台已经是很久的事 情了,但是JSM在当今的J2EE应用中仍然扮演者特殊的地位。

(4)ActiveMQ消息的传递有两种类型:

1)点对点:即一个生产者和一个消费者一一对应。

2)发布/订阅模式:即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。

(5)主要特点:

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的系统里面去。

扫描二维码关注公众号,回复: 2178779 查看本文章

4)通过了常见J2EE服务器(如Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE1.4 商业服务器上。

5)支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA。

6)支持通过JDBC和journal提供高速的消息持久化。

7)从设计上保证了高性能的集群,客户端-服务器,点对点。

8)支持Ajax。

9)支持与Axis的整合。

10)可以很容易的调用内嵌JMS Provider,进行测试。

二、JSM介绍(番外篇)

JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件 (MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。

JMS是一个与具体平台无关的API,具有跨平台性。

它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实 际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的 消息后去完成对应的业务逻辑。

JMS定义了五种不同的消息正文格式:

   • StreamMessage -- Java原始值的数据流

   • MapMessage--一套名称-值对

   • TextMessage--一个字符串对象

   •ObjectMessage--一个序列化的 Java对象

   • BytesMessage--一个字节的数据流

三、ActiveMQ下载

下载地址:http://activemq.apache.org/

四、ActiveMQ安装(Windows版本)

(1)安装环境

JDK1.7及以上版本,配置好环境变量。(不在赘述)

(2)将下载好的apache-activemq-5.14.5解压后(我放在了D盘下),打开目录

D:\apache-activemq-5.14.5\bin\win64,双击activemq.bat文件。如果你是Windows32位的操作系统,那么

你打开的目录是D:\apache-activemq-5.14.5\bin\win32,然后双击其下的activemq.bat文件。这样你的

ActiveMQ服务器就启动了。(注意:请不要双击D:\apache-activemq-5.14.5\bin目录下的activemq.bat

文件,会出现闪退。如果你下载的apache-activemq-5.15.2,那么请参考其他文章)。

(3)安装成功后我们就可以对activeMQ服务器进行访问了。

输入访问地址:http://192.168.37.161:8161/

     账号:admin

密码:admin

登录成功后出现以下页面:

五、 ActiveMQ整合进Spring

1)在eclipse中创建java项目,创建lib目录,导入jar包,jar包如下:

2)Sender---消息发送者代码

3)MyMessageListener---消息监听器1(接收消息,消息消费者)

4)MySecondMessageListener---消息监听器2(接收消息,消息消费者)

5)spring配置文件

6)java目录图

六、执行结果(topic---发布/订阅模式)

七、执行结果(queue---点对点)

八、总结

1)activeMQ的点对点是一个生产消息,将消息放入queue队列,然后另一个消费消息,每一个消费者都是一个线程,它们消费的消息数量等于生产者生产的数量。

2)发布/订阅模式:生产者生产的所有消息都会被每一个的消费者消费。

3)生产者发送消息到MQ服务器,消费者监听MQ服务器,获取到消息后进行消费消息。

4)消费消息处理监听机制外还有receive(),接收消息,这种在项目中不常用,项目中常用的是监听机制。

猜你喜欢

转载自blog.csdn.net/luojishan1/article/details/78768288
今日推荐