ActiveMQ和spring整合
2016-11-21 21:15
232 查看
spring配置文件:
总结一下配置步骤:
1、配置ActiveMQ的ActiveMQConnectionFactory对象。
2、配置Spring代理的ConnectionFactory,使用ActiveMQConnectionFactory对象作为参数。
3、配置JMSTemplate对象,使用spring的代理的ConnectionFactory。
4、配置一个Destination对象。
5、从spring容器中获得JMSTemplate对象,使用对象发送消息,需要指定一个Destination对象。
接下来可以测试发送消息:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" 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-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"> <!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供 --> <bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://192.168.25.168:61616" /> </bean> <!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory --> <bean id="connectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory"> <!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory --> <property name="targetConnectionFactory" ref="targetConnectionFactory" /> </bean> <!-- 配置生产者 --> <!-- Spring提供的JMS工具类,它可以进行消息发送、接收等 --> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <!-- 这个connectionFactory对应的是我们定义的Spring提供的那个ConnectionFactory对象 --> <property name="connectionFactory" ref="connectionFactory" /> </bean> <!--这个是队列目的地,点对点的 --> <bean id="queueDestination" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg> <value>spring-queue</value> </constructor-arg> </bean> <!--这个是主题目的地,一对多的 --> <bean id="topicDestination" class="org.apache.activemq.command.ActiveMQTopic"> <constructor-arg value="spring-topic" /> </bean> </beans>
总结一下配置步骤:
1、配置ActiveMQ的ActiveMQConnectionFactory对象。
2、配置Spring代理的ConnectionFactory,使用ActiveMQConnectionFactory对象作为参数。
3、配置JMSTemplate对象,使用spring的代理的ConnectionFactory。
4、配置一个Destination对象。
5、从spring容器中获得JMSTemplate对象,使用对象发送消息,需要指定一个Destination对象。
接下来可以测试发送消息:
//发送消息 @Test public void testProducer() throws Exception { //初始化Spring容器 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml"); //从容器中获得JMSTemplate对象 JmsTemplate jmsTemplate = applicationContext.getBean(JmsTemplate.class); //从容器中获得Destination对象。 Queue queue = (Queue) applicationContext.getBean("queueDestination"); //发送消息。 jmsTemplate.send(queue, new MessageCreator() { @Override public Message createMessage(Session session) throws JMSException { TextMessage message = session.createTextMessage("测试ActiveMQ整合Spring"); return message; } }); }
相关文章推荐
- spring boot整合activeMQ,实现ptp和topic两者消息模式
- Activemq整合spring
- Spring整合JMS——基于ActiveMQ实现
- Spring整合JMS(一)——基于ActiveMQ实现
- Spring整合JMS——基于ActiveMQ实现
- 深入浅出JMS(四)--Spring和ActiveMQ整合的完整实例
- junit测试spring整合ActiveMQ编写消费者代码报错:org.springframework.beans.factory.BeanCreationException: Error crea
- Spring整合activeMQ
- Java ActiveMQ 讲解(二)Spring ActiveMQ整合+注解消息监听
- SpringBoot整合ActiveMQ
- JMS(三)--Spring和ActiveMQ整合的完整实例
- spring boot整合JMS(ActiveMQ实现)
- Spring ActiveMQ 整合(二): 重发机制(消息发送失败后的重新发送)
- Spring整合activeMQ
- SpringBoot整合ActiveMq要分以下几个步骤:
- ActiveMQ整合Spring(多消费者)
- Spring整合ActiveMQ实现简单的消息队列
- Spring JMS 整合 ActiveMQ
- Spring整合JMS——基于ActiveMQ实现
- spring整合ActiveMQ