- 3
- 0
- 约7.35千字
- 约 14页
- 2016-11-18 发布于湖北
- 举报
ActiveMQ技术文档
数通畅联 HYPERLINK PAGE \* MERGEFORMAT- 10 -
ActiveMQ技术文档
概述
消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。
ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现
预期读者
精通Java SE和Java EE技术。
熟悉JMS规范。
参加过一个以上大中型项目开发。
名称解释
JMS:JMS(Java Messaging Service)是Java平台上有关面向消息中间件(MOM)的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发,翻译为Java消息服务。
JMS规范介绍
JMS的基本构件
连接工厂
连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQConnectionFactory。
连接
JMS Connection封装了客户与JMS提供者之间的一个虚拟的连接。
会话
JMS Session是生产和消费消息的一个单线程上下文。会话用于创建消息生产者(producer)、消息消费者(consumer)和消息(message)等。会话提供了一个事务性的上下文,在这个上下文中,一组发送和接收被组合到了一个原子操作中。
目的地
目的地是客户用来指定它生产的消息的目标和它消费的消息的来源的对象。JMS1.0.2规范中定义了两种消息传递域:点对点(PTP)消息传递域和发布/订阅消息传递域。
点对点消息传递域的特点如下:
? 每个消息只能有一个消费者。
? 消息的生产者和消费者之间没有时间上的相关性。无论消费者在生产者发送消息的时候是否处于运行状态,它都可以提取消息。
发布/订阅消息传递域的特点如下:
? 每个消息可以有多个消费者。
? 生产者和消费者之间有时间上的相关性。订阅一个主题的消费者只能消费自它订阅之后发布的消息。JMS规范允许客户创建持久订阅,这在一定程度上放松了时间上的相关性要求。持久订阅允许消费者消费它在未处于激活状态时发送的消息。
在点对点消息传递域中,目的地被成为队列(queue);在发布/订阅消息传递域中,目的地被成为主题(topic)。
消息生产者
消息生产者是由会话创建的一个对象,用于把消息发送到一个目的地。
消息消费者
消息消费者是由会话创建的一个对象,它用于接收发送到目的地的消息。消息的消费可以采用以下两种方法之一:
? 同步消费。通过调用消费者的receive方法从目的地中显式提取消息。receive方法可以一直阻塞到消息到达。
? 异步消费。客户可以为消费者注册一个消息监听器,以定义在消息到达时所采取的动作。
消息
JMS消息由以下三部分组成:
? 消息头。每个消息头字段都有相应的getter和setter方法。
? 消息属性。如果需要除消息头字段以外的值,那么可以使用消息属性。
? 消息体。JMS定义的消息类型有TextMessage、MapMessage、BytesMessage、StreamMessage和ObjectMessage。
JMS的可靠性机制
确认
JMS消息只有在被确认之后,才认为已经被成功地消费了。消息的成功消费通常包含三个阶段:客户接收消息、客户处理消息和消息被确认。
在事务性会话中,当一个事务被提交的时候,确认自动发生。在非事务性会话中,消息何时被确认取决于创建会话时的应答模式(acknowledgement mode)。该参数有以下三个可选值:
? Session.AUTO_ACKNOWLEDGE。当客户成功的从receive方法返回的时候,或者从MessageListener.onMessage方法成功返回的时候,会话自动确认客户收到的消息。
? Session.CLIENT_ACKNOWLEDGE。 客户通过消息的acknowledge方法确认消息。需要注意的是,在这种模式中,确认是在会话层上进行:确认一个被消费的消息将自动确认所有已被会话消 费的消息。例如,如果一个消息消费者消费了10个消息,然后确认第5个消息,那么所有10个消息都被确认。
? Ses
您可能关注的文档
- 201507-1西安电子科技大学研究生发表学术论文参考目录概要.doc
- 优秀精美简历模板集合(四处收集认真挑选精心整理吐血推荐永久免费)_-_副本教程.doc
- 201507南宁市三级医疗机构输血质量评估细则_new概要.doc
- 浙江电大6745《经济法律基础》机考复习题_new教程.doc
- 201507南宁市三级医疗机构输血质量评估细则概要.doc
- 优秀精美简历模板集合(四处收集认真挑选精心整理吐血推荐永久免费)_new教程.doc
- 浙江电大6745《经济法律基础》机考复习题教程.doc
- 201510通信原理实验讲义(zhp)_new概要.doc
- 浙江电大6765《企业运营与发展》机考复习题_new教程.doc
- 优秀精美简历模板集合(四处收集认真挑选精心整理吐血推荐永久免费)教程.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)