第一步:引用相关的jar包

  1. <dependency>
  2. <groupId>org.springframework</groupId>
  3. <artifactId>spring-jms</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework</groupId>
  7. <artifactId>spring-context-support</artifactId>
  8. </dependency>

第二步:配置Activemq整合spring

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
  7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
  8. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
  9. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">
  10.  
  11. <!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供 -->
  12. <bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
  13. <property name="brokerURL" value="tcp://192.168.25.168:61616" />
  14. </bean>
  15. <!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory -->
  16. <bean id="connectionFactory"
  17. class="org.springframework.jms.connection.SingleConnectionFactory">
  18. <!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory -->
  19. <property name="targetConnectionFactory" ref="targetConnectionFactory" />
  20. </bean>
  21. <!-- 配置生产者 -->
  22. <!-- Spring提供的JMS工具类,它可以进行消息发送、接收等 -->
  23. <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
  24. <!-- 这个connectionFactory对应的是我们定义的Spring提供的那个ConnectionFactory对象 -->
  25. <property name="connectionFactory" ref="connectionFactory" />
  26. </bean>
  27. <!--这个是队列目的地,点对点的 -->
  28. <bean id="queueDestination" class="org.apache.activemq.command.ActiveMQQueue">
  29. <constructor-arg>
  30. <value>spring-queue</value>
  31. </constructor-arg>
  32. </bean>
  33. <!--这个是主题目的地,一对多的 -->
  34. <bean id="topicDestination" class="org.apache.activemq.command.ActiveMQTopic">
  35. <constructor-arg value="topic" />
  36. </bean>
  37. </beans>
  1. @Test
  2. public void testQueueProducer() throws Exception {
  3. // 第一步:初始化一个spring容器
  4. ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-activemq.xml");
  5. // 第二步:从容器中获得JMSTemplate对象。
  6. JmsTemplate jmsTemplate = applicationContext.getBean(JmsTemplate.class);
  7. // 第三步:从容器中获得一个Destination对象
  8. Queue queue = (Queue) applicationContext.getBean("queueDestination");
  9. // 第四步:使用JMSTemplate对象发送消息,需要知道Destination
  10. jmsTemplate.send(queue, new MessageCreator() {
  11.  
  12. @Override
  13. public Message createMessage(Session session) throws JMSException {
  14. TextMessage textMessage = session.createTextMessage("spring activemq test");
  15. return textMessage;
  16. }
  17. });
  18. }

  

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
  7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
  8. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
  9. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">
  10.  
  11. <!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供 -->
  12. <bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
  13. <property name="brokerURL" value="tcp://192.168.25.168:61616" />
  14. </bean>
  15. <!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory -->
  16. <bean id="connectionFactory"
  17. class="org.springframework.jms.connection.SingleConnectionFactory">
  18. <!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory -->
  19. <property name="targetConnectionFactory" ref="targetConnectionFactory" />
  20. </bean>
  21. <!--这个是队列目的地,点对点的 -->
  22. <bean id="queueDestination" class="org.apache.activemq.command.ActiveMQQueue">
  23. <constructor-arg>
  24. <value>spring-queue</value>
  25. </constructor-arg>
  26. </bean>
  27. <!--这个是主题目的地,一对多的 -->
  28. <bean id="topicDestination" class="org.apache.activemq.command.ActiveMQTopic">
  29. <constructor-arg value="topic" />
  30. </bean>
  31. <!-- 接收消息 -->
  32. <!-- 配置监听器 -->
  33. <bean id="myMessageListener" class="cn.e3mall.search.listener.MyMessageListener" />
  34. <!-- 消息监听容器 -->
  35. <bean class="org.springframework.jms.listener.DefaultMessageListenerContainer">
  36. <property name="connectionFactory" ref="connectionFactory" />
  37. <property name="destination" ref="queueDestination" />
  38. <property name="messageListener" ref="myMessageListener" />
  39. </bean>
  40. </beans>

  

  1. public class MyMessageListener implements MessageListener {
  2.  
  3. @Override
  4. public void onMessage(Message message) {
  5.  
  6. try {
  7. TextMessage textMessage = (TextMessage) message;
  8. //取消息内容
  9. String text = textMessage.getText();
  10. System.out.println(text);
  11. } catch (JMSException e) {
  12. e.printStackTrace();
  13. }

  

ActiveMQ与spring整合的更多相关文章

  1. ActiveMQ (三) Spring整合JMS入门

    Spring整合JMS入门 前提:安装好了ActiveMQ  ActiveMQ安装 Demo结构:   生产者项目springjms_producer: pom.xml <?xml versio ...

  2. 消息中间件ActiveMQ及Spring整合JMS

    一 .消息中间件的基本介绍 1.1 消息中间件 1.1.1 什么是消息中间件 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息排 ...

  3. ActiveMQ与Spring整合-MessageListener

    消费者,使用监听的实现方式. 1. pom.xml 2. 生产者 package org.ygy.mq.lesson04; import javax.jms.JMSException; import  ...

  4. 消息中间件ActiveMQ及Spring整合JMS的介绍

    一 .消息中间件的基本介绍 1.1 消息中间件 1.1.1 什么是消息中间件 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息排 ...

  5. ActiveMQ学习总结------Spring整合ActiveMQ 04

    通过前几篇的学习,相信大家已经对我们的ActiveMQ的原生操作已经有了个深刻的概念, 那么这篇文章就来带领大家一步一步学习下ActiveMQ结合Spring的实战操作 注:本文将省略一部分与Acti ...

  6. Spring整合ActiveMQ实现消息延迟投递和定时投递

    linux(centos)系统安装activemq参考:https://www.cnblogs.com/pxblog/p/12222231.html 首先在ActiveMQ的安装路径 /conf/ac ...

  7. ActiveMQ 与 Spring

    1. ActiveMQ安装 1.1 下载(版本5.14.5) 点我官网下载 1.2 安装 解压下载的压缩文件到任意目录中(eg. C:\Program Files (x86)\apache-activ ...

  8. spring整合MQ

    ---恢复内容开始--- 一. 导入依赖 <dependencies> <!-- ActiveMQ客户端完整jar包依赖 --> <dependency> < ...

  9. spring 整合 ActiveMQ

    1.1     JMS简介 JMS的全称是Java Message Service,即Java消息服务.它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息.把它应用到 ...

随机推荐

  1. Python开发【第十六篇】:AJAX全套(转)

    作者:武沛齐 出处:http://www.cnblogs.com/wupeiqi/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 概述 对于 ...

  2. vue-cli全局安装

    一.安装node.js a).不确定自己时候安装了node.js可以在控制台当中输入node -v来查看当前是否已经存在 如果看到输出了版本信息,那么证明已经有了node.js b).如果看到node ...

  3. React Native & Android & iOS & APK

    React Native & Android & iOS & APK https://play.google.com/apps/publish/signup/ $ 25 bui ...

  4. 样例文件C3DCustomUI无法编译、加载

      Civil 3D 2018版样例文件 C:\Program Files\Autodesk\AutoCAD 2018\C3D\Sample\Civil 3D API\COM\VC++\CustomU ...

  5. P1339 [USACO09OCT]热浪Heat Wave

    我太lj了,所以趁着夜色刷了道最短路的水题....然后,,我炸了. 题目描述: The good folks in Texas are having a heatwave this summer. T ...

  6. BZOJ 2733 永无乡

    splay启发式合并 启发式合并其实就是把集合数量小的合并到集合数量大的里去. 怎么合并呢,直接一个一个插入就行了.. 用并查集维护连通性,find(i)可以找到所在splay的编号 这题好像还可以合 ...

  7. [模板]fhqTreap

    用途 平衡树(可实现区间翻转) 原理 和treap一样,中序遍历表示权值的顺序,并且每个点有一个随机的附加值,形成一个堆来保证复杂度 但是不旋转,所有操作通过split和merge实现 分为两种spl ...

  8. java强引用 软引用 弱引用 虚引用

    https://www.cnblogs.com/yw-ah/p/5830458.html Java四种引用包括强引用,软引用,弱引用,虚引用. 强引用: 只要引用存在,垃圾回收器永远不会回收Objec ...

  9. 关联分析Apriori算法和FP-growth算法初探

    1. 关联分析是什么? Apriori和FP-growth算法是一种关联算法,属于无监督算法的一种,它们可以自动从数据中挖掘出潜在的关联关系.例如经典的啤酒与尿布的故事.下面我们用一个例子来切入本文对 ...

  10. 001 UI介绍

    UI全称:User Interface,即用户界面 UI的职责:负责人机之间的交互,它需要将关键信息,操作逻辑等展示给用户 UI在游戏中承担的职责: 1.游戏美术风格的重要组成部分 2.承担着重要的美 ...