| 作者: | Mark Richards, Richard Monson-Haefel, and David A. Chappell |
| 语言: | 英文 |
| 出版年份: | 2009 |
| 下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
本书是 O'Reilly 出版的 JMS 权威指南第二版,由 Mark Richards 主导重写,Richard Monson-Haefel 和 David A. Chappell 合著。它不是一本"从零学 Java"的入门书,而是一本面向有 Java 开发经验的工程师、系统架构师的企业级异步消息技术专著。全书围绕 JMS 1.1 规范展开,以 ActiveMQ 为参考实现,系统讲解消息中间件的原理、编程模型、事务保证、与 Java EE/Spring 的集成,以及生产环境部署与设计决策。第二版约 75% 为全新或大幅修订内容,新增了消息过滤、消息驱动 Bean、Spring JMS 和消息设计反模式等章节。
全书以"理解消息 → 编写客户端 → 掌握可靠性 → 融入企业架构 → 落地部署与设计"为主线推进。第一章建立企业消息的基础概念和 JMS API 全景;第二至六章通过 Chat、QBorrower/QLender、TBorrower/TLender 等渐进式示例,覆盖点对点和发布/订阅两种模型及消息过滤;第七至九章深入事务、确认机制、消息分组,并分别讲解 JMS 在 EJB 3.0 和 Spring 2.5 中的集成方式;最后两章聚焦部署考量(性能、安全、多播)和设计决策(内部/外部目的地、请求/应答模式、反模式)。
| 章节 | 核心主题 |
|---|---|
| 第一章 | 企业消息基础:消息模型(P2P、Pub/Sub)、集中式/分布式/混合架构、SOA 与 EDA 场景、RPC vs 异步消息对比、JMS API 全景 |
| 第二章 | 通过 Chat 示例入门 JMS 开发:会话、线程、连接工厂 |
| 第三章 | JMS 消息剖析:Message 类型体系、消息头、属性、互操作性 |
| 第四章 | 点对点模型:队列、消息关联、动态队列、负载均衡、队列浏览 |
| 第五章 | 发布/订阅模型:主题、持久/非持久订阅者、动态订阅、临时主题 |
| 第六章 | 消息过滤:消息选择器语法、标识符、运算符、声明方式与示例 |
| 第七章 | 可靠消息与事务:三种确认模式(AUTO/DUPS_OK/CLIENT)、存储转发机制、消息分组与并发消费、事务会话、分布式事务、死消息队列与异常监听 |
| 第八章 | Java EE 与消息驱动 Bean:EJB 3.0 概述、MDB 定义与并发、JNDI ENC、消息门面模式 |
| 第九章 | Spring 与 JMS:JmsTemplate、消息驱动 POJO、Spring 消息监听容器、jms 命名空间 |
| 第十章 | 部署考量:吞吐量需求评估与实测、TCP/IP vs UDP vs IP 多播选型、安全三要素(认证/授权/加密通信)、防火墙与 HTTP 隧道 |
| 第十一章 | 消息设计:内部/外部目的地拓扑选型、请求/应答消息设计模式、常见反模式(单用途队列、优先级滥用、消息头误用) |
| 附录 A~D | JMS API 速查(全量类与接口)、消息头参考(JMSHeaders 详解)、消息属性参考(JMS/SProvider 属性)、ActiveMQ 安装配置指南 |
适合有 Java 开发经验、需要将异步消息引入系统架构的后端工程师和架构师。不需要预先具备消息系统经验,但要求熟悉 Java 语言和基本的业务系统开发。对已在使用 JMS 但希望系统理解事务、可靠性、设计权衡的开发者同样有价值。不适合 Java 初学者或仅需快速查阅 API 的读者——本书侧重原理与设计判断,而非速查手册。
作为 JMS 领域的标杆著作,第二版在保留第一版核心框架的基础上,全面覆盖了 2009 年前后企业消息生态的关键变化:统一 API、EJB 3.0、Spring 集成、EDA/SOA 场景。Mark Richards 的实战背景使全书在理论严谨性和工程实用性之间取得了良好平衡,尤其是部署考量和设计反模式两章,在同类书籍中较为少见。对于需要深入理解 JMS 并做出合理架构决策的读者,本书至今仍有参考价值。