spring整合apache activemq实现消息发送的三种方式代码配置实例
我们项目中发送事件告警要用到消息队列,所以学习了下activemq,整理如下:
activemq的介绍就不用说了,官网上大家可以详细的看到。
1.下载并安装activemq:地址http://activemq.apache.org/activemq-590-release.html,我下面的例子用的是5.9.0的版本。下载后解压就完成安装了。进入解压目录的bin目录,选择windows位数(32/64),启动activemq.bat就可以开启activemq服务了。登陆http://localhost:8161/admin就可以进入mq的界面了,官方默认登录名/密码是:admin/admin,也可以在conf/jetty-realm.properties中自行修改,activemq界面如下:
简单介绍下导航栏:
Queues:队列方式消息。
Topics:主题方式消息。
Subscribers:消息订阅监控查询。
Connections:查看链接数,分别可以查看xmpp、ssl、stomp、openwire、ws和网络链接。
Network:网络链接数监控。
Scheduled:没有用到,不太清楚。
Send:发送消息数据
2.发送和接受消息的步骤:
a.发送消息
(1)创建连接使用的工厂类JMS ConnectionFactory
(2)使用管理对象JMS ConnectionFactory建立连接Connection,并启动
(3)使用连接Connection 建立会话Session
(4)使用会话Session和管理对象Destination创建消息生产者MessageSender
(5)使用消息生产者MessageSender发送消息
b.接收消息
(1)创建连接使用的工厂类JMS ConnectionFactory
(2)使用管理对象JMS ConnectionFactory建立连接Connection,并启动
(3)使用连接Connection建立会话Session
(4)使用会话Session和管理对象Destination创建消息接收者MessageReceiver
(5)使用消息接收者MessageReceiver接受消息,需要用setMessageListener将MessageListener接口绑定到MessageReceiver,消息接收者必须实现了MessageListener接口,需要定义onMessage事件方法。
3.spring的集成:spring集成所需要的jar包我已经在pom.xml中配置了,大家可以看看都需要哪些jar。当然下载的activemq的lib下也有这些jar。spring的整合比较简单,只需在spring的配置文件中配置消息模板JmsTemplete就可以了,具体如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 连接池 --> <bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop"> <property name="connectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616" /> </bean> </property> </bean> <!-- 连接工厂 --> <bean id="activeMQConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616" /> </bean> <!-- 配置消息目标 --> <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg index="0" value="com.zuidaima.spring" /> </bean> <!-- 消息模板 --> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="activeMQConnectionFactory" /> <property name="defaultDestination" ref="destination" /> <property name="messageConverter"> <bean class="org.springframework.jms.support.converter.SimpleMessageConverter" /> </property> </bean> </beans>
4.项目运行截图:
JMS
其他几种方式我就不一一截图了,请具体运行项目查看。
5.开发环境:win7 32位+eclipse kepler + jdk7 + maven
由最代码官方编辑于2016-8-5 9:44:15
猜你喜欢
- /
- /zuidaima_activemq
- /zuidaima_activemq/.classpath
- /zuidaima_activemq/.project
- /zuidaima_activemq/.settings
- /zuidaima_activemq/.settings/org.eclipse.jdt.core.prefs
- /zuidaima_activemq/.settings/org.eclipse.m2e.core.prefs
- /zuidaima_activemq/pom.xml
- /zuidaima_activemq/src
- /zuidaima_activemq/src/applicationContext.xml
- /zuidaima_activemq/src/com
- /zuidaima_activemq/src/com/zuidamai
- /zuidaima_activemq/src/com/zuidamai/jms
- /zuidaima_activemq/src/com/zuidamai/pointToPoint
- /zuidaima_activemq/src/com/zuidamai
- /zuidaima_activemq