1、什么是JMS
JMS指的是Java message service,是JEE技术开发规范的一个重要组成部分,它是一种企业消息处理的规范。它是解耦的,实现了消息生产者和消费者的隔离。
2、JMS的组成架构
JMS服务器:服务器系统,一般商业应用服务器都可提供JMS服务器支持。
JMS生产者:负责创建并发送消息的程序组件。
JMS消费者:负责读取处理消息的程序组件。
3、主要JMS 消息机制模型:PTP和Pub-Sub
点对点(PTP)模型:每一个消息传递给一个消费者,消息不会同时被多个消费者接收。如果消费者不在线,消息自动持久化(保存到数据库或文件),以保证消息不会丢失。
发布/订阅(Pub-Sub)模型:每个消息发送到一个消息主题,该主题可以拥有多个订阅者,JMS系统负责将主题的副本分发给所有订阅者。
4、JMS version1.0.2两种模型的对象API
PTP Pub-Sub
连接工厂: QueueConnectionFactory TopicConnectionFactory
JMS连接: QueueConnection TopicConnection
消息会话: QueueSession TopicSession
消息目的: Queue Topic
消息生产者: QueueSender TopicPublisher
消息消费者: QueueReceiver TopicSubscriber
发送消息的方法:send(Message msg) publsh(Message msg)
接收消息的方法:receive()/receiveNoWait() receive()/receiveNoWait()
5、JMS version1.1统一域模型API(适用于PTP和Pub-Sub)
连接工厂:ConnectionFactory
连接:Connection
消息会话:Session
消息目的:Destination
消息生产者:MessageProducer
消息消费者:MessageConsumer
6、JMS1.1消除了PTP、Pub-Sub的消息发送和接收步骤:
消息发送步骤:
(1)通过JNDI查找来获取JMS连接工厂
(2)JMS连接工厂创建JMS连接
(3)JMS连接创建JMS消息会话
(4)JMS消息会话创建JMS消息生产者
(5)JMS消息会话创建空的JMS消息
(6)JMS消息调用自身的方法填充内容
(7)通过JNDI查找获取JMS消息目的
(8)消息生产者将消息发送到指定的JMS消息目的
(9)关闭JMS资源
消息同步接收步骤:
(1)通过JNDI查找来获取JMS连接工厂
(2)JMS连接工厂创建JMS连接
(3)JMS连接创建JMS消息会话
(4)通过JNDI查找获取JMS消息目的
(5)JMS会话指定特定的JMS消息目的来创建一个JMS消息消费者
(6)JMS消费者接收消息
(7)关闭JMS资源
注:异步接收使用消息监听器MessageListener。
7、其他
消息的优先级设置、消息类型、消息确认的方式、消息选择器、消息的临时目的、事务性session、JTA全局事务、JMS服务器的异常监听和JMS集群这里不做概述。
分享到:
相关推荐
**JMS学习笔记精心总结** Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。它允许应用程序创建、发送、接收和读取消息,使得应用程序能够在不直接连接的情况下...
**JMS学习笔记(一)——JMS简介与ActiveMQ安装** Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它为应用程序提供了一种标准的方式,用来创建、发送、接收和读取...
本文主要探讨的是消息中间件(Message-Oriented Middleware,简称MOM),特别是在Java消息服务(Java Message Service,JMS)的学习笔记。 JMS是Java平台上的一个标准API,用于在分布式环境中进行异步消息传递。它...
通过阅读**jms学习笔记.docx** 和 **JMS例子.docx**,你可以深入理解JMS的使用方式,获取实践经验。而 **JMS教程.pdf** 和 **基于XML和JMS的异构数据交换集成的研究.pdf** 则提供了理论基础和高级应用场景的讲解,有...
### Java Message Service (JMS) 介绍与使用 在深入探讨Java Message Service(JMS)之前,我们首先明确其在Java EE生态系统中的地位。JMS是Java Platform, Enterprise Edition(Java EE)的一部分,用于实现分布式...
在本篇ActiveMQ学习笔记中,我们将探讨JMS(Java Message Service)与Spring框架的集成。JMS是一种标准API,用于在分布式环境中进行异步消息传递,而Spring框架则为开发人员提供了强大的依赖注入和管理服务的能力。...
在深入探讨JAVA学习笔记之前,我们首先理解一下JAVA这一编程语言的重要性。JAVA,由Sun Microsystems公司(现已被Oracle收购)于1995年推出,是一种面向对象的、跨平台的编程语言,以其“一次编写,到处运行”的特性...
RocketMQ学习笔记 1是关于Apache RocketMQ的学习笔记,涵盖了RocketMQ的基本概念、架构、消息模型、Producer和Consumer的基本概念、JMS规范等知识点。 1. 消息模型 在RocketMQ中,消息模型是指消息的生产、存储和...
### ActiveMQ学习笔记知识点梳理 #### 一、ActiveMQ简介 **定义:** - **ActiveMQ**是由Apache出品的一款功能强大的开源消息中间件。作为消息队列(Message Queue,简称MQ)的一种,它主要用来在分布式系统之间...
【JProfiler学习笔记】 JProfiler是一款强大的Java性能分析工具,其直观的图形用户界面使得开发者能够轻松找到性能瓶颈,定位内存泄漏,并解决线程问题。本文将深入介绍JProfiler的主要功能,通过实战案例来帮助...
本学习笔记涵盖了JavaEE的核心技术,帮助学习者深入理解和掌握javaweb的各项技能。 1. **Servlet与JSP** - **Servlet**:Servlet是Java编写的服务器端程序,主要用于扩展服务器的功能。在JavaEE中,Servlet处理...
### JavaEE 学习笔记概览 #### 一、JavaEE 概念及发展历程 JavaEE(Java Platform, Enterprise Edition)是Sun Microsystems公司为简化企业级应用开发而提出的一套标准化平台,它提供了构建分布式系统的基本框架和...
这份"Java-J2EE全部学习笔记 培训结构的学习资料"涵盖了从基础到高级的Java编程和J2EE应用开发的知识点,对于想要深入理解Java EE技术的人来说是一份宝贵的资源。 1. **Java基础知识**:这部分可能包括Java语言的...
《软件工程师学习笔记J2EE》是一份针对Java企业级应用开发(J2EE)的详尽学习资源,对于想要深入理解和掌握J2EE技术体系的软件工程师来说,具有极高的参考价值。这份笔记不仅全面覆盖了J2EE的基础概念,还深入探讨了...
**J2EE学习笔记概述** J2EE(Java 2 Platform, Enterprise Edition)是Java平台的一个版本,专门针对企业级应用开发。它提供了一个全面的框架来构建、部署和管理多层、分布式、跨平台的企业应用程序。J2EE学习笔记...
【J2EE学习笔记概述】 J2EE,全称为Java 2 Platform, Enterprise Edition,是Java平台上用于构建企业级应用的框架。它提供了一个统一的标准和可扩展的平台,允许开发人员创建分布式、多层的企业应用程序。J2EE的...