JMS规范详解:从入门到精通
需积分: 9 112 浏览量
更新于2024-07-27
收藏 799KB PDF 举报
"JMS规范教程.pdf"
JMS(Java Message Service)是Java平台中用于创建、发送、接收和读取消息的应用程序接口。它提供了一种标准的方式,使得分布式系统中的不同组件可以通过异步通信来交换数据,从而解耦应用程序的各个部分。JMS允许在不同的应用程序之间传递消息,确保了可靠性和可扩展性。
### 第1章 JMS基本概念
1. **什么是JMS**:JMS是Java平台的一个标准接口,它定义了如何在分布式环境中进行消息传递。通过JMS,应用程序可以发送和接收各种类型的消息,同时支持点对点(Queue)和发布/订阅(Topic)两种消息模式。
2. **JMS中的消息**:消息是数据的载体,它可以在生产者和消费者之间传输。消息可以包含不同类型的数据,并且具有特定的头部信息和可选的属性。
3. **跨平台性**:由于JMS是标准接口,因此实现了JMS的提供商(如IBM WebSphere MQ、Apache ActiveMQ等)提供了跨平台兼容性,使得基于JMS的应用程序可以在不同的操作系统和硬件上运行。
4. **两种消息方式**:点对点模式下,消息从一个生产者发送到一个队列,然后由一个或多个消费者接收。发布/订阅模式下,消息发布到一个主题,多个订阅者可以接收这些消息。
5. **编程步骤**:开发JMS客户端应用通常包括创建连接工厂、创建连接、创建会话、创建目的地(队列或主题)、创建消息、发送消息、接收消息以及关闭资源等步骤。
6. **多线程问题**:JMS设计时考虑到了多线程环境,因此在处理消息时需要考虑线程安全,避免并发问题。
### 第2章 JMS消息模型
2. **消息模型**:JMS消息模型包括消息结构、消息头、消息属性和消息确认机制。
- 消息头字段包括JMSDestination、JMSDeliveryMode、JMSMessageID、JMSTimestamp、JMSCorrelationID、JMSReplyTo、JMSRedelivered、JMSType、JMSExpiration和JMSPriority,它们定义了消息的基本属性和路由信息。
- 消息属性提供了额外的数据存储空间,可以是预定义的JMS属性或提供商特定的属性。
- 消息确认(Acknowledgement)涉及到消息的可靠性,包括自动确认、客户端确认和批量确认等模式。
- 消息接口提供了操作消息的方法,例如设置和获取消息选择器,以决定哪些消息会被接收。
- 消息选择器允许基于消息属性过滤消息,实现消息的精细化路由。
### 第3章 JMS通用设施
3. **被管理的对象(Administered Objects)**:这些是预先配置好的对象,如连接工厂和目的地,它们简化了JMS应用程序的配置和管理。
- Destination(目的地)是消息的接收点,可以是队列或主题。
这些章节仅涵盖了JMS规范的基础部分,实际的JMS教程会进一步讨论事务处理、持久化、连接恢复、错误处理和安全性等内容。JMS是企业级Java应用的重要组成部分,理解并熟练掌握JMS规范对于开发可靠的分布式系统至关重要。
2019-07-09 上传
2021-10-30 上传
2009-08-15 上传
2021-10-11 上传
2021-09-30 上传
2011-05-06 上传
2021-10-08 上传
2008-06-10 上传
2021-10-04 上传
ilnaij8
- 粉丝: 0
- 资源: 46
最新资源
- ellipse:此函数根据中心 x、y 坐标以及水平和垂直半径计算和绘制椭圆的坐标。-matlab开发
- Blake Smith's SEO Consulting-crx插件
- multi_ping:ping服务器以检查网络质量(您知道我在说什么
- 多重请求网址:客户产品技术练习,从包含Urls数组的给定参数返回json数据
- 基于PHP的正义网整站打包适合博客自媒体源码.zip
- salty-dotfiles:使用无主的 SaltStack Minion 自动配置我的个人环境
- 形式设计
- 行业分类-设备装置-一种设置在钻机回转平台上的摆动机构.zip
- grakn-vis-utils:grakn数据库,破折号React力图和GUI之间进行交互的功能
- messagingmenu:Gnome Shell的消息菜单
- Json2dart_web:用于将json数据转换为适用于mc包的dart模型的网站
- NDSC:NV的挑战
- proj_MUSINSA:Project_MUSINSA
- Portable Ubuntu Remix-开源
- 百度搜索助手-crx插件
- stdfure.zip