废话不多说,在进入主题前先看一张图,对ActiveMQ有个大体的了解:
 
下面进入主题:
 
1.添加需要的maven依赖

<!-- active mq begin -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.14.5</version>
</dependency>
<!-- active mq end -->
 
 
2.Spring配置文件中添加activemq相关配置
 
1)消息发送

<!-- 配置JMS连接工厂 -->
<amq:connectionFactory id="connectionFactory" brokerURL="tcp://localhost:61616"/> <!-- 定义Queue类型的消息目的地 -->
<amq:queue id="queueDestination" physicalName="bounter.queue" /> <!-- 定义Topic类型的消息目的地 -->
<amq:topic id="topicDestination" physicalName="bounter.topic" /> <!-- 定义JmsTemplate,用来简化消息发送 -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="defaultDestinationName" value="bounter.queue"/>
<!--<property name="defaultDestinationName" value="bounter.topic"/>-->
<property name="receiveTimeout" value="10000"/>
</bean>
 
2)消息接收(有多种接收方式,这里采用Spring的Message Driven POJO的异步监听方式)

<!-- 定义接收消息的监听器容器 -->
<jms:listener-container connection-factory="connectionFactory">
<jms:listener destination="bounter.queue" ref="jmsQueueListener" method="onQueueMessage" />
<jms:listener destination="bounter.topic" ref="jmsTopicListener" method="onTopicMessage" />
</jms:listener-container>
 
 
3.定义消息发送器和消息接收器
 
具体请参考项目源码中sender包和receiver包中代码
 
 
4.测试消息收发
 
具体请参考项目源码中的单元测试类ActiveMQTest
 
 
是不是觉得很简单哉!那就赶快自己动手试试吧!有好的意见或建议欢迎留言!
 
github源码地址: https://github.com/13babybear/mq-client

JMS消息队列之ActiveMQ简单示例的更多相关文章

  1. AMQP消息队列之RabbitMQ简单示例

    前面一篇文章讲了如何快速搭建一个ActiveMQ的示例程序,ActiveMQ是JMS的实现,那这篇文章就再看下另外一种消息队列AMQP的代表实现RabbitMQ的简单示例吧.在具体讲解之前,先通过一个 ...

  2. 消息队列之ActiveMQ简单环境搭建

    准备: 环境:win7,Eclipse,jdk1.8 ActiveMQ版本:ActiveMQ 5.9.0 Release下载地址:http://activemq.apache.org/download ...

  3. JMS【三】--ActiveMQ简单的HelloWorld实例

    第一篇博文JMS[一]--JMS基本概念,我们介绍了JMS的两种消息模型:点对点和发布订阅模型,以及消息被消费的两个方式:同步和异步,JMS编程模型的对象,最后说了JMS的优点. 第二篇博文JMS[二 ...

  4. 一、消息队列之ActiveMQ的安装、配置和C#样例代码

    最近有时间了,研究一下消息队列ActvieMQ,结合自己的实践和网上的一些大家内容,整理如下,所有步骤和链接均是正确的. 1.ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲 ...

  5. Flume 读取JMS 消息队列消息,并将消息写入HDFS

    利用Apache Flume 读取JMS 消息队列消息.并将消息写入HDFS,flume agent配置例如以下: flume-agent.conf #name the  components on ...

  6. 工业物联网或系统集成中应用消息队列(ActiveMQ,C#的demo)的场景全面分析

    1.[连载]<C#通讯(串口和网络)框架的设计与实现> 2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 2.应用SuperIO(SIO)和开源跨平台物联网框 ...

  7. java JMS消息队列

    http://blog.csdn.net/shirdrn/article/details/6362792 http://haohaoxuexi.iteye.com/blog/1893038 http: ...

  8. 消息队列之 ActiveMQ(山东数漫江湖)

    简介 ActiveMQ 特点 ActiveMQ 是由 Apache 出品的一款开源消息中间件,旨在为应用程序提供高效.可扩展.稳定.安全的企业级消息通信. 它的设计目标是提供标准的.面向消息的.多语言 ...

  9. 消息队列之 ActiveMQ

    简介 ActiveMQ 特点 ActiveMQ 是由 Apache 出品的一款开源消息中间件,旨在为应用程序提供高效.可扩展.稳定.安全的企业级消息通信. 它的设计目标是提供标准的.面向消息的.多语言 ...

随机推荐

  1. 启用SQL Server 2014 中的OLE 自动化功能

    企业中很多架构都在快走向Service概念,尽量采用平台服务方式提供给各个Application使用.因此,个系统都会去呼叫像是Web Service,WCF或ODATA…等等各种类型的服务.一般来说 ...

  2. Could not find default endpoint element that references contract 'wcfXXXXXXXXXXX' in the ServiceMode

    Service本身没有问题,但是调用的时候,只在DataAccessSilverlight里引用了,而在主工程WebGISDemo里没有引用服务PowerDataServiceReference,所以 ...

  3. qlikview 权限管理和sso集成

    简单总结一下 qlikview 权限管理和SSO集成的过程, 在集成qlikview报表过程中碰到了很多坑, 甚至官方文档也不准确.  如果你也有类似的需求, 可以参考一下本文.  需要说明的是, 本 ...

  4. Linq中Sum和Group的使用

    ].AsEnumerable() group c by c.Field<int>("Name") into s select new { ID = s.Select(m ...

  5. ps 命令的十个简单用法【转】

    注记 ps 命令有两种不同的语法风格 —— BSD 与 UNIX 两种风格.新手常常对这两种形式产生误解,因此我们有必要在这里作一个简单的说明: ps aux 与 ps -aux 是不同的,例如 -u ...

  6. IDAPython学习(二)

    1.常用函数 ScreenEA() 获取IDA调试窗口中,光标指向代码的地址.通过这个函数,我们就能够从一个已知的点运行我们的脚本. GetInputFileMD5() 返回IDA加载的二进制文件的M ...

  7. 新萌渗透测试入门DVWA 教程1:环境搭建

    首先欢迎新萌入坑.哈哈.你可能抱着好奇心或者疑问.DVWA 是个啥? DVWA是一款渗透测试的演练系统,在圈子里是很出名的.如果你需要入门,并且找不到合适的靶机,那我就推荐你用DVWA. 我们通常将演 ...

  8. Emmet 记录

    Refs 熟悉 css 有优势,emmet 的的缩写语法特别像 css 选择器. =>参考本博笔记 # id > 直接子元素 child . class + Sibling 同级相邻的一个 ...

  9. Python之线程 3 - 信号量、事件、线程队列与concurrent.futures模块

    一 信号量 二 事件 三 条件Condition 四 定时器(了解) 五 线程队列 六 标准模块-concurrent.futures 基本方法 ThreadPoolExecutor的简单使用 Pro ...

  10. Python常用模块之time模块

    python中的time和datetime模块是时间方面的模块 time模块中时间表现的格式主要有三种: 1.timestamp:时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算 ...