书籍详情
精通EJB3.0/精通系列
作者:(美)斯瑞格奈斯
出版社:电子工业出版社
出版时间:2006-12-01
ISBN:9787121032721
定价:¥59.00
购买这本书可以去
内容简介
本书是关于EJB 3.0的专业技术教程,专注于EJB的概念、方法、开发过程的介绍。同时,本书还研究许多高端的EJB知识,使得开发者能够真正理解和掌握EJB,实践出真知。通过阅读此书,开发者将精通EJB。全书共分为4个部分:第一部分对EJB编程基础进行介绍,概要性地对EJB进行了阐述;第二部分重点关注EJB编程的具体内容和过程,向开发者展示了如何使用会话Bean、将会话Bean发布为Web服务、消息驱动Bean;第三部分专注于高级EJB专题;第四部分是附录,收集了EJB组件技术相关的其他内容。本书适合作为Java程序员、网站开发人员和系统分析员的参考书。
作者简介
罗时飞,独立JavaEE顾问。西安交通大学硕士。从事JavaEE开发、架构工作7年多 ,曾担任大型软件公司产品开发经理,实践经验丰富。对JavaEE平台、敏捷方法及开源技术有深入研究。出版图书多本。现在,他专职从事企业级Java的推广工作。服务网站:http://www.open-v.com.代表作品:《精通Spring》(简、繁体,第1版,编著)、《Mastering Enterprise JavaBeans》(第3版,译)、《Jboss Administration and Development》(第3版,译)、《The J2EE Tutorial》(第1版,合译)。
目录
第1篇 总 述
第1章 概述 3
1.1 EJB前奏 4
1.1.1 软件组件 4
1.1.2 呼唤组件化 4
1.2 分布式应用的中间件需求 5
1.2.1 应用服务器级软件 7
1.2.2 标准化组件框架 7
1.3 企业Bean技术 8
1.3.1 钟情Java 9
1.3.2 业务层组件—EJB 10
1.3.3 分布式计算:EJB的
支撑 11
1.3.4 EJB中间件服务 13
1.3.5 EJB应用生命周期
中的角色 14
1.3.6 EJB生态圈 17
1.4 面向服务架构及EJB 19
1.5 终极无间—可重用服务 20
1.6 Java EE 5.0 22
1.7 小结 26
第2章 传统的EJB 27
2.1 传统EJB组件的具体构成 27
2.2 开发与部署传统EJB组件 29
2.2.1 远程接口 31
2.2.2 本地接口 31
2.2.3 Home接口 32
2.2.4 本地Home接口 33
2.2.5 Bean类 34
2.2.6 部署描述符 35
2.2.7 部署企业Bean组件 35
2.2.8 HelloWorldEJB客户 36
2.3 剖析EJB 2.x 38
2.3.1 复杂性—EJB 2.x的
突出问题 38
2.3.2 如何改进EJB 2.x 41
2.4 小结 42
第3章 新一代EJB 43
3.1 介绍EJB 3.0 43
3.1.1 EJB容器 44
3.1.2 EJB组件类型 46
3.1.3 EJB使用的RMI-IIOP 48
3.1.4 EJB与位置透明性 49
3.1.5 EJB环境 50
3.1.6 剖析EJB 3.0 51
3.1.7 Home与对象
接口的作用 54
3.2 简化的EJB 3.0 API 55
3.2.1 消除Home与
对象接口 55
3.2.2 消除组件接口 55
3.2.3 使用注释 56
3.2.4 简化对环境的访问 59
3.3 打包并部署EJB 3.0组件 60
3.4 EJB 3.0组件实例 61
3.4.1 业务接口 62
3.4.2 Bean类 62
3.4.3 部署描述符 63
3.4.4 EJB客户 63
3.5 术语集合 64
3.6 小结 65
第2篇 EJB组件和实体
第4章 会话Bean介绍 69
4.1 会话Bean的生命周期 69
4.2 会话Bean的子类型 70
4.2.1 无状态会话Bean 70
4.2.2 有状态会话Bean 71
4.3 有状态会话Bean的不同点 72
4.3.1 实现实例池功能 72
4.3.2 维护会话状态的规则 73
4.3.3 激活和挂起回调 74
4.3.4 回调方法小结 77
4.3.5 一个简单的有状态
会话Bean组件 77
4.3.6 会话Bean的生命周期
流程图 86
4.4 小结 89
第5章 将会话Bean发布
为Web服务 91
5.1 Web服务概念 91
5.1.1 Web服务标准 93
5.1.2 XML文档和平台
无关性 96
5.2 实现Web服务 97
5.2.1 WSDL和XML/Java映射 99
5.2.2 打包和部署暴露Web服务的会话Bean 100
5.3 实现Web服务客户 101
5.4 小结 102
第6章 Java持久化API 103
6.1 对象关系映射 104
6.2 何为实体 106
6.2.1 实体与会话Bean 107
6.2.2 持久化提供者 107
6.2.3 实体类 108
6.2.4 访问持久化上下文中
的实体 110
6.2.5 打包和部署实体类 114
6.3 EntityManager API 115
6.3.1 实体的生命周期 116
6.3.2 数据库同步 119
6.4 小结 125
第7章 消息驱动Bean介绍 127
7.1 使用消息的动机 127
7.2 Java消息服务 129
7.2.1 消息域 130
7.2.2 JMS API 131
7.3 集成JMS和EJB 134
7.4 开发消息驱动Bean 138
7.4.1 语义 138
7.4.2 一个简单实例 140
7.5 高级概念 145
7.5.1 事务 145
7.5.2 安全性 145
7.5.3 负载均衡 145
7.5.4 群集中消息的
重复消费 146
7.6 基于JMS的消息
驱动Bean陷阱 147
7.6.1 消息顺序 148
7.6.2 错过调用
@PreDestroy 148
7.6.3 坏消息 148
7.6.4 如何将结果返回给消息生产者 151
7.6.5 异步方法调用 154
7.7 小结 155
第8章 扩充EJB组件的功能 157
8.1 从EJB组件调用其他
EJB组件 157
8.2 Annotation 159
8.2.1 公用注释 159
8.2.2 业务接口注释 160
8.2.3 用于有状态会话
Bean的注释 161
8.2.4 依赖注入 164
8.2.5 拦截器 167
8.3 小结 172
第3篇 高级EJB概念
第9章 高级持久化概念 175
9.1 继承 176
9.1.1 各类继承结构
使用单个表 179
9.1.2 各子类使用
单独的表 184
9.1.3 各具体实体类
使用单个表 186
9.1.4 其他继承模式 186
9.2 多态 188
9.3 关系 190
9.3.1 关系类型 190
9.3.2 1:1关系 191
9.3.3 1:N关系 196
9.3.4 M:N关系 204
9.4 改进的EJB-QL 210
9.4.1 批量更新和删除 211
9.4.2 连接操作 214
9.4.3 GROUP BY和
HAVING从句 214
9.4.4 投影 215
9.4.5 高级查询操作 216
9.4.6 在SELECT从句中
构造对象 217
9.5 小结 218
第10章 事务 219
10.1 使用事务的动机 219
10.1.1 原子操作 220
10.1.2 网络或机器故障 221
10.1.3 多用户共享数据 221
10.2 事务带来的优势 222
10.3 事务模型 224
10.3.1 平面事务 225
10.3.2 嵌入式事务 226
10.3.3 其他事务模型 227
10.4 分布式事务 227
10.4.1 持久性和2PC
协议 228
10.4.2 事务通信协议和
事务上下文 229
10.5 Java事务服务和
Java事务API 230
10.5.1 OTS和Java
事务服务 230
10.5.2 Java事务API 230
10.5.3 JTS和跨应用服务器的
分布式事务互操作 231
10.6 EJB事务 232
10.6.1 底层事务系统抽象 232
10.6.2 容器管理、Bean管理
及客户控制的事务 232
10.6.3 选择事务风格 235
10.7 容器管理事务 236
10.7.1 EJB事务属性的
取值 236
10.7.2 容器管理事务实例 239
10.7.3 应用事务属性到各种
EJB组件中 241
10.8 Bean管理事务 243
10.8.1 javax.transaction.
UserTransaction
接口 243
10.8.2 Bean管理事务实例 245
10.9 客户控制的事务 246
10.10 事务隔离 247
10.10.1 并发控制的
必要性 247
10.10.2 隔离级别 248
10.10.3 脏读问题 249
10.10.4 不可重复读和
可重复度 250
10.10.5 幻影读问题 251
10.10.6 事务隔离小结 251
10.10.7 在EJB应用中使用
各种隔离级别 251
10.10.8 悲观和乐观
并发控制 252
10.11 设计EJB中的事务会话 253
10.12 小结 255
第11章 安全性 257
11.1 介绍 257
11.1.1 侵害、弱点和风险 258
11.1.2 控制 259
11.2 Web应用的安全性 260
11.2.1 Web应用的认证 261
11.2.2 授权 262
11.2.3 机密性和集成性 263
11.3 理解EJB安全性 263
11.3.1 EJB应用的认证 263
11.3.2 EJB中的授权 273
11.3.3 安全性传播 283
11.4 安全性互操作 284
11.4.1 基于SSL的IIOP 284
11.4.2 CSIv2 285
11.5 Web服务中的安全性 286
11.5.1 端对端的安全性 287
11.5.2 XML数字签名和
XML加密 288
11.5.3 SAML 290
11.5.4 WS-Security 291
11.6 小结 293
第12章 EJB定时器 295
12.1 任务调度 295
12.2 EJB和任务调度 296
12.3 EJB定时器服务 297
12.3.1 定时器服务API 297
12.3.2 EJB同定时器服务的
交互 300
12.4 定时器实例——
CleanDayLimitOrdersBean 301
12.4.1 CleanDayLimitOrders
业务接口 301
12.4.2 CleanDayLimitOrdersBean
类 302
12.4.3 CleanDayLimitOrders
EJB的部署描述符 304
12.4.4 CleanDayLimitOrders
EJB的客户 305
12.4.5 运行客户 305
12.5 EJB定时器服务的优缺点 306
12.6 小结 307
第13章 EJB最佳实践 309
13.1 何时使用EJB 309
13.2 如何选用同EJB协同
工作的Web应用框架 311
13.3 在EJB项目中实施MDD 313
13.4 在EJB项目中实施
极限编程 314
13.5 测试EJB 316
13.5.1 EJB单元测试 316
13.5.2 借助于框架完成
EJB的单元测试 317
13.6 如何在EJB中实现客户端
回调功能 319
13.6.1 JMS 319
13.6.2 远程对象调用 319
13.6.3 Web服务 320
13.7 选用Servlet或无状态会话
Bean作为服务端点 320
13.8 在EJB项目中考虑使用
AOP技术 321
13.8.1 AOP 321
13.8.2 何时在EJB应用中
使用AOP 321
13.9 反射、动态代理和EJB 322
13.10 将EJB部署到不同Java EE
应用服务器 323
13.11 调试EJB 324
13.12 EJB中的继承和
代码复用 326
13.13 在EJB中实现单例
(Singleton) 327
13.14 何时在EJB中
使用XML 327
13.15 选择消息或RMI-IIOP的
时机 328
13.16 小结 330
第14章 EJB性能调优 331
14.1 提前关注 331
14.2 从性能角度看待:有状态
对无状态 332
14.3 如何借助于容量规划
来保证响应时间 334
14.4 使用会话外观改善性能 335
14.5 选择本地接口还是
远程接口 336
14.6 区分资源 337
14.7 无状态会话Bean调优 338
14.8 有状态会话Bean调优 339
14.9 实体调优 340
14.10 MDB调优 342
14.11 Java虚拟机调优 343
14.12 其他调优技巧 344
14.13 正确选用EJB服务器 345
14.14 小结 346
第15章 EJB集成 347
15.1 研究集成的必要性 347
15.2 EJB和集成 348
15.3 Java EE连接器架构 349
15.3.1 引入Java EE连接器
的理由 349
15.3.2 资源适配器同Java EE
组件交互 351
15.3.3 资源适配器同应用
服务器交互 352
15.4 Java EE连接器API 354
15.4.1 javax.resource包 354
15.4.2 javax.resource.cci包 354
15.4.3 javax.resource.spi包 356
15.4.4 javax.resource.spi.
endpoint包 358
15.4.5 javax.resource.spi.
security包 358
15.4.6 javax.resource.spi.
work包 359
15.5 系统契约 359
15.5.1 生命周期管理 359
15.5.2 连接管理 360
15.5.3 安全性管理 363
15.5.4 事务管理 365
15.5.5 工作管理 368
15.5.6 外来消息管理 369
15.6 连接器实例:
OutboundLoanRA 371
15.6.1 实例架构 371
15.6.2 JavaLoanApp.java 372
15.6.3 LoadApp.dll 373
15.6.4 OutboundLoanRA 374
15.6.5 LoanRatesEJB 396
15.6.6 LoanRatesClient 398
15.6.7 运行客户 398
15.6.8 扩展
OutboundLoanRA 403
15.7 集成最佳实践:使用
合适的技术 404
15.7.1 何时使用JMS和基于
JMS的MDB 404
15.7.2 何时使用Java EE
连接器 404
15.7.3 何时使用Java Web
服务 404
15.8 小结 405
第16章 群集 407
16.1 大型系统概述 407
16.1.1 何为大型系统 408
16.1.2 负载均衡和容错 410
16.1.3 基于并排或分布式Java
EE容器实施群集 413
16.2 装备群集EJB 415
16.2.1 如何群集EJB 415
16.2.2 幂等性概念 416
16.2.3 群集无状态会话
Bean 417
16.2.4 群集有状态会话
Bean 419
16.2.5 群集实体 420
16.2.6 群集MDB 422
16.3 其他EJB群集问题 423
16.3.1 初次接触 423
16.3.2 初始访问逻辑 424
16.4 小结 424
第17章 EJB-Java EE集成
—构建完整的应用 425
17.1 业务问题 425
17.2 预览最终网站 426
17.3 圈定技术需求 429
17.3.1 业务逻辑层 430
17.3.2 前端展示层 435
17.4 实例代码 440
17.5 小结 450
附录A RMI-IIOP和JNDI教程 451
A.1 Java RMI-IIOP 451
A.1.1 远程方法调用 452
A.1.2 远程接口 454
A.1.3 远程对象实现 455
A.1.4 存根和骨架 456
A.2 对象序列化和参数传递 457
A.2.1 传值 457
A.2.2 CORBA与RMI-IIOP
的互操作 462
A.3 Java命名和目录接口 463
A.3.1 为什么要使用JNDI 464
A.3.2 命名和目录服务 464
A.3.3 命名和目录存在的
问题 466
A.3.4 进入JNDI 466
A.3.5 JNDI的优势 466
A.3.6 JNDI架构 467
A.3.7 JNDI概念 468
A.3.8 JNDI编程 471
A.4 集成RMI-IIOP和JNDI 472
A.4.1 将RMI-IIOP服务器
绑定到JNDI 473
A.4.2 借助于JNDI查找
RMI-IIOP服务器 474
A.5 小结 475
附录B 注释 477
B.1 Annotation介绍 477
B.1.1 用于EJB的注释 479
B.1.2 背景 480
B.2 EJB注释参考 482
B.2.1 用于EJB组件类型的
注释 482
B.2.2 用于会话Bean和
消息驱动Bean的
公共注释 484
B.2.3 用于实体的注释 487
B.3 小结 500
第1章 概述 3
1.1 EJB前奏 4
1.1.1 软件组件 4
1.1.2 呼唤组件化 4
1.2 分布式应用的中间件需求 5
1.2.1 应用服务器级软件 7
1.2.2 标准化组件框架 7
1.3 企业Bean技术 8
1.3.1 钟情Java 9
1.3.2 业务层组件—EJB 10
1.3.3 分布式计算:EJB的
支撑 11
1.3.4 EJB中间件服务 13
1.3.5 EJB应用生命周期
中的角色 14
1.3.6 EJB生态圈 17
1.4 面向服务架构及EJB 19
1.5 终极无间—可重用服务 20
1.6 Java EE 5.0 22
1.7 小结 26
第2章 传统的EJB 27
2.1 传统EJB组件的具体构成 27
2.2 开发与部署传统EJB组件 29
2.2.1 远程接口 31
2.2.2 本地接口 31
2.2.3 Home接口 32
2.2.4 本地Home接口 33
2.2.5 Bean类 34
2.2.6 部署描述符 35
2.2.7 部署企业Bean组件 35
2.2.8 HelloWorldEJB客户 36
2.3 剖析EJB 2.x 38
2.3.1 复杂性—EJB 2.x的
突出问题 38
2.3.2 如何改进EJB 2.x 41
2.4 小结 42
第3章 新一代EJB 43
3.1 介绍EJB 3.0 43
3.1.1 EJB容器 44
3.1.2 EJB组件类型 46
3.1.3 EJB使用的RMI-IIOP 48
3.1.4 EJB与位置透明性 49
3.1.5 EJB环境 50
3.1.6 剖析EJB 3.0 51
3.1.7 Home与对象
接口的作用 54
3.2 简化的EJB 3.0 API 55
3.2.1 消除Home与
对象接口 55
3.2.2 消除组件接口 55
3.2.3 使用注释 56
3.2.4 简化对环境的访问 59
3.3 打包并部署EJB 3.0组件 60
3.4 EJB 3.0组件实例 61
3.4.1 业务接口 62
3.4.2 Bean类 62
3.4.3 部署描述符 63
3.4.4 EJB客户 63
3.5 术语集合 64
3.6 小结 65
第2篇 EJB组件和实体
第4章 会话Bean介绍 69
4.1 会话Bean的生命周期 69
4.2 会话Bean的子类型 70
4.2.1 无状态会话Bean 70
4.2.2 有状态会话Bean 71
4.3 有状态会话Bean的不同点 72
4.3.1 实现实例池功能 72
4.3.2 维护会话状态的规则 73
4.3.3 激活和挂起回调 74
4.3.4 回调方法小结 77
4.3.5 一个简单的有状态
会话Bean组件 77
4.3.6 会话Bean的生命周期
流程图 86
4.4 小结 89
第5章 将会话Bean发布
为Web服务 91
5.1 Web服务概念 91
5.1.1 Web服务标准 93
5.1.2 XML文档和平台
无关性 96
5.2 实现Web服务 97
5.2.1 WSDL和XML/Java映射 99
5.2.2 打包和部署暴露Web服务的会话Bean 100
5.3 实现Web服务客户 101
5.4 小结 102
第6章 Java持久化API 103
6.1 对象关系映射 104
6.2 何为实体 106
6.2.1 实体与会话Bean 107
6.2.2 持久化提供者 107
6.2.3 实体类 108
6.2.4 访问持久化上下文中
的实体 110
6.2.5 打包和部署实体类 114
6.3 EntityManager API 115
6.3.1 实体的生命周期 116
6.3.2 数据库同步 119
6.4 小结 125
第7章 消息驱动Bean介绍 127
7.1 使用消息的动机 127
7.2 Java消息服务 129
7.2.1 消息域 130
7.2.2 JMS API 131
7.3 集成JMS和EJB 134
7.4 开发消息驱动Bean 138
7.4.1 语义 138
7.4.2 一个简单实例 140
7.5 高级概念 145
7.5.1 事务 145
7.5.2 安全性 145
7.5.3 负载均衡 145
7.5.4 群集中消息的
重复消费 146
7.6 基于JMS的消息
驱动Bean陷阱 147
7.6.1 消息顺序 148
7.6.2 错过调用
@PreDestroy 148
7.6.3 坏消息 148
7.6.4 如何将结果返回给消息生产者 151
7.6.5 异步方法调用 154
7.7 小结 155
第8章 扩充EJB组件的功能 157
8.1 从EJB组件调用其他
EJB组件 157
8.2 Annotation 159
8.2.1 公用注释 159
8.2.2 业务接口注释 160
8.2.3 用于有状态会话
Bean的注释 161
8.2.4 依赖注入 164
8.2.5 拦截器 167
8.3 小结 172
第3篇 高级EJB概念
第9章 高级持久化概念 175
9.1 继承 176
9.1.1 各类继承结构
使用单个表 179
9.1.2 各子类使用
单独的表 184
9.1.3 各具体实体类
使用单个表 186
9.1.4 其他继承模式 186
9.2 多态 188
9.3 关系 190
9.3.1 关系类型 190
9.3.2 1:1关系 191
9.3.3 1:N关系 196
9.3.4 M:N关系 204
9.4 改进的EJB-QL 210
9.4.1 批量更新和删除 211
9.4.2 连接操作 214
9.4.3 GROUP BY和
HAVING从句 214
9.4.4 投影 215
9.4.5 高级查询操作 216
9.4.6 在SELECT从句中
构造对象 217
9.5 小结 218
第10章 事务 219
10.1 使用事务的动机 219
10.1.1 原子操作 220
10.1.2 网络或机器故障 221
10.1.3 多用户共享数据 221
10.2 事务带来的优势 222
10.3 事务模型 224
10.3.1 平面事务 225
10.3.2 嵌入式事务 226
10.3.3 其他事务模型 227
10.4 分布式事务 227
10.4.1 持久性和2PC
协议 228
10.4.2 事务通信协议和
事务上下文 229
10.5 Java事务服务和
Java事务API 230
10.5.1 OTS和Java
事务服务 230
10.5.2 Java事务API 230
10.5.3 JTS和跨应用服务器的
分布式事务互操作 231
10.6 EJB事务 232
10.6.1 底层事务系统抽象 232
10.6.2 容器管理、Bean管理
及客户控制的事务 232
10.6.3 选择事务风格 235
10.7 容器管理事务 236
10.7.1 EJB事务属性的
取值 236
10.7.2 容器管理事务实例 239
10.7.3 应用事务属性到各种
EJB组件中 241
10.8 Bean管理事务 243
10.8.1 javax.transaction.
UserTransaction
接口 243
10.8.2 Bean管理事务实例 245
10.9 客户控制的事务 246
10.10 事务隔离 247
10.10.1 并发控制的
必要性 247
10.10.2 隔离级别 248
10.10.3 脏读问题 249
10.10.4 不可重复读和
可重复度 250
10.10.5 幻影读问题 251
10.10.6 事务隔离小结 251
10.10.7 在EJB应用中使用
各种隔离级别 251
10.10.8 悲观和乐观
并发控制 252
10.11 设计EJB中的事务会话 253
10.12 小结 255
第11章 安全性 257
11.1 介绍 257
11.1.1 侵害、弱点和风险 258
11.1.2 控制 259
11.2 Web应用的安全性 260
11.2.1 Web应用的认证 261
11.2.2 授权 262
11.2.3 机密性和集成性 263
11.3 理解EJB安全性 263
11.3.1 EJB应用的认证 263
11.3.2 EJB中的授权 273
11.3.3 安全性传播 283
11.4 安全性互操作 284
11.4.1 基于SSL的IIOP 284
11.4.2 CSIv2 285
11.5 Web服务中的安全性 286
11.5.1 端对端的安全性 287
11.5.2 XML数字签名和
XML加密 288
11.5.3 SAML 290
11.5.4 WS-Security 291
11.6 小结 293
第12章 EJB定时器 295
12.1 任务调度 295
12.2 EJB和任务调度 296
12.3 EJB定时器服务 297
12.3.1 定时器服务API 297
12.3.2 EJB同定时器服务的
交互 300
12.4 定时器实例——
CleanDayLimitOrdersBean 301
12.4.1 CleanDayLimitOrders
业务接口 301
12.4.2 CleanDayLimitOrdersBean
类 302
12.4.3 CleanDayLimitOrders
EJB的部署描述符 304
12.4.4 CleanDayLimitOrders
EJB的客户 305
12.4.5 运行客户 305
12.5 EJB定时器服务的优缺点 306
12.6 小结 307
第13章 EJB最佳实践 309
13.1 何时使用EJB 309
13.2 如何选用同EJB协同
工作的Web应用框架 311
13.3 在EJB项目中实施MDD 313
13.4 在EJB项目中实施
极限编程 314
13.5 测试EJB 316
13.5.1 EJB单元测试 316
13.5.2 借助于框架完成
EJB的单元测试 317
13.6 如何在EJB中实现客户端
回调功能 319
13.6.1 JMS 319
13.6.2 远程对象调用 319
13.6.3 Web服务 320
13.7 选用Servlet或无状态会话
Bean作为服务端点 320
13.8 在EJB项目中考虑使用
AOP技术 321
13.8.1 AOP 321
13.8.2 何时在EJB应用中
使用AOP 321
13.9 反射、动态代理和EJB 322
13.10 将EJB部署到不同Java EE
应用服务器 323
13.11 调试EJB 324
13.12 EJB中的继承和
代码复用 326
13.13 在EJB中实现单例
(Singleton) 327
13.14 何时在EJB中
使用XML 327
13.15 选择消息或RMI-IIOP的
时机 328
13.16 小结 330
第14章 EJB性能调优 331
14.1 提前关注 331
14.2 从性能角度看待:有状态
对无状态 332
14.3 如何借助于容量规划
来保证响应时间 334
14.4 使用会话外观改善性能 335
14.5 选择本地接口还是
远程接口 336
14.6 区分资源 337
14.7 无状态会话Bean调优 338
14.8 有状态会话Bean调优 339
14.9 实体调优 340
14.10 MDB调优 342
14.11 Java虚拟机调优 343
14.12 其他调优技巧 344
14.13 正确选用EJB服务器 345
14.14 小结 346
第15章 EJB集成 347
15.1 研究集成的必要性 347
15.2 EJB和集成 348
15.3 Java EE连接器架构 349
15.3.1 引入Java EE连接器
的理由 349
15.3.2 资源适配器同Java EE
组件交互 351
15.3.3 资源适配器同应用
服务器交互 352
15.4 Java EE连接器API 354
15.4.1 javax.resource包 354
15.4.2 javax.resource.cci包 354
15.4.3 javax.resource.spi包 356
15.4.4 javax.resource.spi.
endpoint包 358
15.4.5 javax.resource.spi.
security包 358
15.4.6 javax.resource.spi.
work包 359
15.5 系统契约 359
15.5.1 生命周期管理 359
15.5.2 连接管理 360
15.5.3 安全性管理 363
15.5.4 事务管理 365
15.5.5 工作管理 368
15.5.6 外来消息管理 369
15.6 连接器实例:
OutboundLoanRA 371
15.6.1 实例架构 371
15.6.2 JavaLoanApp.java 372
15.6.3 LoadApp.dll 373
15.6.4 OutboundLoanRA 374
15.6.5 LoanRatesEJB 396
15.6.6 LoanRatesClient 398
15.6.7 运行客户 398
15.6.8 扩展
OutboundLoanRA 403
15.7 集成最佳实践:使用
合适的技术 404
15.7.1 何时使用JMS和基于
JMS的MDB 404
15.7.2 何时使用Java EE
连接器 404
15.7.3 何时使用Java Web
服务 404
15.8 小结 405
第16章 群集 407
16.1 大型系统概述 407
16.1.1 何为大型系统 408
16.1.2 负载均衡和容错 410
16.1.3 基于并排或分布式Java
EE容器实施群集 413
16.2 装备群集EJB 415
16.2.1 如何群集EJB 415
16.2.2 幂等性概念 416
16.2.3 群集无状态会话
Bean 417
16.2.4 群集有状态会话
Bean 419
16.2.5 群集实体 420
16.2.6 群集MDB 422
16.3 其他EJB群集问题 423
16.3.1 初次接触 423
16.3.2 初始访问逻辑 424
16.4 小结 424
第17章 EJB-Java EE集成
—构建完整的应用 425
17.1 业务问题 425
17.2 预览最终网站 426
17.3 圈定技术需求 429
17.3.1 业务逻辑层 430
17.3.2 前端展示层 435
17.4 实例代码 440
17.5 小结 450
附录A RMI-IIOP和JNDI教程 451
A.1 Java RMI-IIOP 451
A.1.1 远程方法调用 452
A.1.2 远程接口 454
A.1.3 远程对象实现 455
A.1.4 存根和骨架 456
A.2 对象序列化和参数传递 457
A.2.1 传值 457
A.2.2 CORBA与RMI-IIOP
的互操作 462
A.3 Java命名和目录接口 463
A.3.1 为什么要使用JNDI 464
A.3.2 命名和目录服务 464
A.3.3 命名和目录存在的
问题 466
A.3.4 进入JNDI 466
A.3.5 JNDI的优势 466
A.3.6 JNDI架构 467
A.3.7 JNDI概念 468
A.3.8 JNDI编程 471
A.4 集成RMI-IIOP和JNDI 472
A.4.1 将RMI-IIOP服务器
绑定到JNDI 473
A.4.2 借助于JNDI查找
RMI-IIOP服务器 474
A.5 小结 475
附录B 注释 477
B.1 Annotation介绍 477
B.1.1 用于EJB的注释 479
B.1.2 背景 480
B.2 EJB注释参考 482
B.2.1 用于EJB组件类型的
注释 482
B.2.2 用于会话Bean和
消息驱动Bean的
公共注释 484
B.2.3 用于实体的注释 487
B.3 小结 500
猜您喜欢