springJMS+activeMQ实践
ActiveMQ-5.8.0 安装和启动 http://chenzhou123520.iteye.com/blog/1915287
在CentOS Linux下部署Activemq 5 http://sunbean.blog.51cto.com/972509/675529
原文:http://my.oschina.net/wangrikui/blog/471714
运行环境:jdk1.6 ,javaEE5 , spring2.5 ,activeMQ5.4.3.
一定要注意activeMQ的版本与jdk的兼容性,最新的activeMQ版本估计要在jdk1.7以上才能运行。
先说一下activeMQ的安装:
1、下载:http://activemq.apache.org/download.html 选择合适的Windows版本
2、安装
(1) 首先配置JAVA环境变量
JAVA_HOME=D:\Program Files\Java\jdk1.5.0
CLASSPAHT=.;%JAVA_HOME%\lib
PATH=%JAVA_HOME%\bin;
(2)直接解压至任意目录(例如:D:\apache-activemq-5.3.0)
3、启动ActiveMQ服务器:直接运行\bin\win32\activemq.bat
当运行成功后,界面显示: Started SelectChannelConnector@0.0.0.0:8161 即说明activemq启动成功。
4、打开ActiveMQ消息管理后台系统 http://localhost:8161/admin/
需要依赖的jar包有:spring.jar , activemq-all-5.4.3.jar , commons-logging-api-1.1.jar , commons-io-1.3.2.jar
好了,准备工作做完后,开始上代码,
先看一下,我们最终的Spring配置文件applicationContext.xml的内容,如下所示:
接下来,消息生成器代码,实现spring的MessageCreator接口:
接下来,消息监听器,实现javaEE的规范MessageListener接口即可,因为要注入到spring的DefaultMessageListenerContainer中。此监听器通过监听来自destination(在spring中配置)的消息,一旦有消息就打印出来:
下面是消息发布器,通过spring的jms模板,即可轻松的获得与activeMQ的连接与通信,从而获得Connection和Destination,再通过JmsTemplate的send方法,即可发送消息到指定的destination(在spring中配置)中,以供客户端接收:
至此,基本的jms就已经搭建好了,很简单吧,一个spring上下文配置,一个消息生成器,一个消息发布器,一个监听器,搞定。接下来,编写一个测试类,看运行结果(注意在运行测试类前,一定要先启动activeMQ服务器):
运行结果如下:
Reading message: Sun Jun 28 19:40:05 CST 2015第9条消息发出
Reading message: Sun Jun 28 19:40:06 CST 2015第8条消息发出
Reading message: Sun Jun 28 19:40:07 CST 2015第7条消息发出
Reading message: Sun Jun 28 19:40:08 CST 2015第6条消息发出
Reading message: Sun Jun 28 19:40:09 CST 2015第5条消息发出
Reading message: Sun Jun 28 19:40:10 CST 2015第4条消息发出
Reading message: Sun Jun 28 19:40:12 CST 2015第3条消息发出
Reading message: Sun Jun 28 19:40:13 CST 2015第2条消息发出
Reading message: Sun Jun 28 19:40:14 CST 2015第1条消息发出
