分享
 
 
 

Java消息服务(第2版)

Java消息服务(第2版)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  品牌: Mark Richards(马克•理查兹)

基本信息·出版社:电子工业出版社

·页码:336 页

·出版日期:2010年01月

·ISBN:9787121100505

·条形码:9787121100505

·装帧:平装

·开本:16

产品信息有问题吗?请帮我们更新产品信息。

内容简介《Java消息服务(第2版)》深入浅出地讲解了JMS1.1规范的底层技术、Java类和接口、编程模型及其不同实现等Java消息服务(JMS)和消息传送机制关键技术。通过对支持点对点和发布/订阅“消息传送”的标准API的完全解读以及具体实例,介绍了如何利用“厂商无关”的JMS来解决许多体系结构的面临的挑战,比如异构系统和应用程序集成、提高可伸缩性、降低系统瓶颈、支持并发处理,以及提升灵活性和敏捷性等。

目录

推荐序 I

前言 III

第1章 消息传送机制基础 1

1.1 消息传送机制的优点 3

1.1.1 异构集成 3

1.1.2 缓解系统瓶颈 3

1.1.3 提高可伸缩性 4

1.1.4 提高最终用户生产率 4

1.1.5 体系结构灵活性和敏捷性 5

1.2 企业消息传送 5

1.2.1 集中式体系结构 7

1.2.2 分散式体系结构 7

1.2.3 混合体系结构 8

1.2.4 以集中式体系结构作为模型 8

1.3 消息传送模型 9

1.3.1 点对点模型 10

1.3.2 发布/订阅模型 10

1.4 JMS API 11

1.4.1 点对点API 13

1.4.2 发布/订阅API 14

1.5 实际场景 14

1.5.1 面向服务体系结构 15

1.5.2 事件驱动体系结构 16

1.5.3 异构平台集成 16

1.5.4 企业应用集成 17

1.5.5 企业到企业 17

1.5.6 地理分散 18

1.5.7 信息广播 18

1.5.8 构建动态系统 18

1.6 RPC和异步消息传送 21

1.6.1 紧密耦合的RPC 21

1.6.2 企业消息传送 23

第2章 编写一个简单的示例程序 25

2.1 聊天应用程序 25

2.1.1 从Chat示例开始 28

2.1.2 分析源代码 30

2.1.3 会话和线程 39

第3章 深入剖析一条JMS消息 41

3.1 消息头 42

3.1.1 自动分配的消息头 43

3.1.2 开发者分配的消息头 46

3.2 消息属性 47

3.2.1 应用程序特定的属性 47

3.2.2 JMS定义的属性 49

3.2.3 提供者特定的属性 50

3.3 消息类型 50

3.3.1 Message 50

3.3.2 TextMessage 51

3.3.3 ObjectMessage 52

3.3.4 BytesMessage 53

3.3.5 StreamMessage 56

3.3.6 MapMessage 58

3.3.7 只读消息 60

3.3.8 客户端确认的消息 61

3.3.9 消息的互操作性和可移植性 61

第4章 点对点消息传送模型 63

4.1 点对点模型概览 63

4.1.1 何时使用点对点消息传送模型 66

4.2 QBorrower和QLender应用程序 67

4.2.1 配置并运行应用程序 67

4.2.2 QBorrower类 69

4.2.3 QLender类 76

4.3 消息关联 81

4.4 动态队列对受管队列 83

4.5 使用多个接收者实现负载均衡 84

4.6 分析一个队列 85

第5章 发布/订阅消息传送模型 87

5.1 发布/订阅模型概览 87

5.1.1 何时使用发布/订阅消息传送模型 89

5.2 TBorrower和TLender应用程序 90

5.2.1 配置并运行应用程序 90

5.2.2 TLender类 92

5.2.3 TBorrower类 96

5.3 持久订阅者和非持久订阅者 100

5.4 动态订阅者和受管订阅者 101

5.5 取消订阅动态持久订阅者 104

5.6 临时主题 104

第6章 消息过滤 107

6.1 消息选择器 109

6.1.1 标识符 110

6.1.2 常量 111

6.1.3 比较运算符 111

6.1.4 算术运算符 113

6.2 声明一个消息选择器 114

6.3 消息选择器示例 116

6.3.1 管理HMO的索赔申请 116

6.3.2 关于存货的特定报价通知 116

6.3.3 优先级处理 116

6.3.4 证券交易订单审计 117

6.4 未传送语义 117

6.5 设计注意事项 118

第7章 保证消息传送和事务 125

7.1 保证消息传送 125

7.1.1 消息自主性 126

7.1.2 保存并转发消息传送 126

7.1.3 消息确认和故障情况 126

7.2 消息确认 127

7.2.1 AUTO_ACKNOWLEDGE 127

7.2.2 DUPS_OK_ACKNOWLEDGE 132

7.2.3 CLIENT_ACKNOWLEDGE 132

7.3 消息组和确认 133

7.3.1 在应用程序中处理消息的重新传送 134

7.3.2 消息组示例 134

7.3.3 消息编组和多个接收者 143

7.4 事务性消息 145

7.4.1 创建并使用一个JMS事务 147

7.4.2 事务性会话示例 147

7.4.3 分布式事务 150

7.5 丢失连接 151

7.5.1 ExceptionListener示例 152

7.6 停用消息队列 153

第8章 Java EE和消息驱动bean 155

8.1 Java EE概览 155

8.1.1 企业级JavaBean 156

8.2 企业级JavaBean 3.0(EJB3)概览 157

8.2.1 简化bean开发 158

8.2.2 依赖注入 158

8.2.3 简化回调方法 159

8.2.4 通过编程方式默认 159

8.2.5 拦截器 160

8.2.6 Java持久性API 162

8.3 Java EE中的JMS资源 162

8.3.1 JNDI环境命名上下文(ENC) 164

8.4 消息驱动bean 166

8.4.1 并发处理和可伸缩性 168

8.4.2 定义消息驱动bean 168

8.5 消息驱动bean用例 171

8.5.1 消息门面 171

8.5.2 转换和路由选择 173

第9章 Spring和JMS 177

9.1 Spring消息传送体系结构 177

9.2 JmsTemplate概览 180

9.2.1 Send方法 181

9.2.2 convertAndSend方法 181

9.2.3 receive和receiveSelected方法 182

9.2.4 receiveAndConvert方法 183

9.3 连接工厂和JMS目的地 184

9.3.1 使用JNDI 184

9.3.2 使用本地类 187

9.4 发送消息 189

9.4.1 使用send方法 190

9.4.2 使用convertAndSend方法 191

9.4.3 使用非默认JMS目的地 193

9.5 同步接收消息 195

9.6 消息驱动POJO 198

9.6.1 Spring消息侦听器容器 198

9.6.2 MDP可选方案1:使用MessageListener接口 199

9.6.3 MDP可选方案2:使用SessionAwareMessageListener接口 201

9.6.4 MDP可选方案3:使用MessageListenerAdapter 202

9.6.5 消息转换限制 207

9.7 Spring JMS命名空间 208

9.7.1消息属性 209

9.7.2元素属性 211

第10章 部署注意事项 213

10.1 性能、可伸缩性和可靠性 213

10.1.1 确定消息吞吐量需求 213

10.1.2 测试实际场景 214

10.2 组播与否 217

10.2.1 TCP/IP 218

10.2.2 UDP 218

10.2.3 IP组播 218

10.2.4 基于IP组播的消息传送 219

10.2.5 关键要点 221

10.3 安全性 222

10.3.1 认证 222

10.3.2 授权 223

10.3.3 安全通信 224

10.3.4 防火墙和HTTP通道 224

10.4 连接外部世界 225

10.5 桥接到其他消息传送系统 227

第11章 消息传送设计注意事项 229

11.1 内部目的地与外部目的地 229

11.1.1 内部目的地拓扑结构 230

11.1.2 外部目的地拓扑结构 231

11.2 请求/应答消息传送设计 232

11.3 消息传送设计反模式 236

11.3.1 单用途队列 236

11.3.2 过度使用消息优先级 240

11.3.3 滥用消息头 240

附录A Java消息服务API 245

附录B 消息头 265

附录C 消息属性 277

附录D 安装和配置ActiveMQ 285

索引 291

……[看更多目录]

序言获邀担纲《Java消息服务(第2版)》的翻译,我的思绪一下回到了10年前。当时,不仅是初出茅庐的我,甚至很多资深的同行,都在为不同系统之间的信息交换而头疼不已:一方面,数据集成和系统整合的需求非常强烈;另一方面,信息交换的技术实现不仅难度很大,而且实现方式也因各有利弊而难于选择。在技术路线的选择上,我们究竟何去何从?这在“雾里看花”的当年,真不啻于一场赌博。因为后来的事实证明,即便是其中较为常用的CORBA、DCOM、RMI等远程过程调用(RPC)中间件技术,虽可以解决一些问题,但它们在健壮性、性能和可伸缩性方面的表现很难让人满意。

期间,从我一位留美的同学处,偶然获悉了Java消息服务(JMS)机制,令我闻之一震——它很好地解决了让我困惑良久的在不同系统间进行数据和功能共享的问题。我不仅自己如获至宝,还因为职业的关系,在我的领地——三尺讲台上竭力传播这一思路。

简而言之,JMS是1999年由 Sun Microsystems领衔开发的一种访问消息系统的方法,也就是供Java程序员使用的面向消息的中间件(MOM)。这种基于消息传送的异步处理模型,具有非阻塞的调用特性。发送者将消息发送给消息服务器,服务器会在合适的时候再将消息转发给接收者;发送和接收采用异步方式,这就意味着发送者无须等待,发送者和接收者的生命周期也无需相同,而且发送者还可以将消息传给多个接收者。如此一来,这种异步处理方式就大大提升了应用程序的健壮性、性能和可伸缩性,使数据集成和系统整合工作变得易如反掌,特别是在分布式应用上让同步处理方式望尘莫及。Java消息服务作为一个与具体平台无关的API,已经得到绝大多数MOM提供商的支持。

本书深入浅出地讲解了JMS规范的底层技术、Java类和接口、编程模型及其不同实现。尤其值得指出的是,当年我学习Java消息服务的启蒙教材,正是O’Reilly在2000年出版的本书第1版。所以看到第2版,真是一见如故。较之9年前的第1版,除了著名的Richard Monson-Haefel和David A.Chappell之外,又有消息传送机制、面向服务体系结构和事务管理领域的公认权威Mark Richards来担纲第一作者。我在仔细研读之后发现,本版继承了初版的优点,但在内容及结构方面有了很大变化,某些地方甚至可以说是“质”变,究其原因主要有二:其一,初版两年后(即2002年3月)发布了JMS 1.1,统一了消息域。新版必须为适用JMS 1.1而修订;其二,经过10年的发展,Java平台和消息传送机制日臻完善,消息驱动bean、Spring消息框架、事件驱动体系结构(EDA)、面向服务体系结构(SOA)、RESTful JMS接口,以及企业服务总线(ESB)等新的消息传送技术也层出不穷。这些亮点不仅是第2版的精华所在,它们本身也代表了Java消息服务技术的发展方向。

当然,任何一项技术都是有利有弊的,也都会经历发展、鼎盛直至消亡的生命旅程,Java消息服务也不例外。无须讳言,近些年来在异构系统集成领域,Java消息服务就遭到了Web服务的强力挑战。不过,在Web服务解决可靠性等问题之前,Java消息服务仍然是异构系统集成的不二之选。我相信,如果您读完了本书,并切实领会了JMS的精髓和要义之后,会十分认同这个观点。

翻译一本书,弄不好就会是“出力不讨好的苦差”,因为无论是技术本身、原著水平、读者领悟力等哪个环节出了问题,板子通常都会打在翻译者身上。当然就本书而言,JMS技术本身、原著的水平和读者的领悟力都不会有什么问题。所以,既然我愿意做这样的知识传播者,那就要勇于承担所有的责任。套用我所敬仰的一位长者之言:我只希望在我翻译完以后,全体读者能说一句,他是一个负责的译者,不是敷衍了事的译者,我就很满意了。如果他们再慷慨一点,说闫怀志某些地方译得还不错,我就谢天谢地了。

本书翻译期间得到了电子工业出版社博文视点公司徐定翔、白爱萍、杨绣国、陈元玉、许莹等编辑的热心帮助。书中绝大部分术语采用了Sun公司的标准译法,在此一并致谢。最后,我要感谢家人的支持,否则完成这样一项工作几乎是不可想象的。由于译者水平有限,加之时间较紧,虽已尽力避免错误,难免仍有疏漏,恳请广大读者将意见和建议发至:bityhz001@sina.com,不胜感激。

闫怀志

2009年秋于北京中关村

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有