1.1获得二进制文件 1
1.1.1预备条件 1
第1章 安装和构建JBoss服务器 1
1.1.2安装二进制存档 2
1.1.3default服务器配置文件集合 3
1.2基本安装测试 8
1.3从网络服务器启动 10
1.4基于源代码构建服务器 14
第2章 JBossJMX微内核(Microkernel) 21
2.1JMX介绍 21
2.1.1装配层 22
2.1.4JMX组件介绍 23
2.1.2代理层 23
2.1.3分布式服务层 23
2.2JBossJMX实现架构 26
2.2.1JBoss类装载器架构 26
2.2.2类装载和Java中的类型 26
2.2.3JBossXMBean 47
2.3连接到JMX服务器 53
2.3.1浏览服务器——JMX控制台Web应用 53
2.3.2使用RMI连接到JMX 56
2.3.3命令行方式访问JMX 66
2.4将JMX作为微内核 71
2.4.1启动过程 71
2.3.4使用任何协议连接到JMX 71
2.4.2JBossMBean服务 72
2.4.3开发JBossMBean服务 81
2.4.4部署排序和依赖性 110
2.5JBoss部署器架构 127
2.6借助于SNMP展示MBean事件 131
2.6.1SNMP适配器服务 131
2.6.2陷阱服务事件 132
2.7远程访问服务——分离式Invoker 132
2.7.1分离式Invoker实例:MBeanServerInvoker适配器服务 137
2.7.2分离式Invoker参考 143
3.1.1JNDI应用编程接口 149
3.1JNDI概述 149
第3章 JBoss之命名——JNDI命名服务 149
3.1.2J2EE和JNDI——应用组件环境 151
3.2JBossNS架构 164
3.2.1命名InitialContext工厂 166
3.2.2基于HTTP访问JNDI 170
3.2.3保护基于HTTP访问JNDI 176
3.2.4保护只读、未保护上下文JNDI的访问 178
3.2.5其他命名MBean 179
第4章 JBoss之事务——JTA事务服务 185
4.1事务/JTA概述 185
4.1.1悲观锁/乐观锁 186
4.1.2分布式事务的组件 186
4.1.4启发式异常 187
4.1.5事务ID和分支 187
4.1.3两阶段XA协议 187
4.2JBoss事务内核 188
4.2.1为JBoss适配事务管理器 188
4.2.2默认事务管理器 189
4.2.3UserTransaction支持 189
第5章 JBoss之EJB——EJB容器配置和架构 191
5.1EJB客户端视图 191
5.2EJB服务器端视图 198
5.3EJB容器 204
5.3.1EJBDeployerMBean 204
5.3.2容器插件式框架 215
5.4.1JBoss为什么需要锁 227
5.4实体Bean锁和死锁检测 227
5.4.2实体Bean的生命周期 228
5.4.3默认锁行为 228
5.4.4插入式拦截器和锁策略 229
5.4.5死锁 230
5.4.6高级配置和调优 232
5.4.7在群集中运行 236
5.4.8修理故障 236
第6章 JBoss之消息——JMS配置和架构 239
6.1JMS实例 239
6.1.1点对点实例 240
6.1.2发布/订阅实例 242
6.1.3使用持久topic的发布/订阅实例 249
6.1.4使用MDB的点对点实例 252
6.2JBoss消息概述 261
6.2.1调用层 261
6.2.2安全性管理器 262
6.2.3目的地管理器 263
6.2.4消息缓存 263
6.2.5状态管理器 263
6.2.6持久化管理器 263
6.2.7目的地 264
6.3JBoss消息配置和MBean 264
6.3.1org.jboss.mq.il.jvm.JVMServerILService 265
6.3.2org.jboss.mq.il.rmi.RMIServerILService(已丢弃) 265
6.3.4org.jboss.mq.il.uil.UILServerILService(已丢弃) 266
6.3.3org.jboss.mq.il.oil.OILServerILService(已丢弃) 266
6.3.5org.jboss.mq.il.uil2.UILServerILService 267
6.3.6org.jboss.mq.il.http.HTTPServerILService 269
6.3.7org.jboss.mq.server.jmx.Invoker 270
6.3.8org.jboss.mq.server.jmx.InterceptorLoader 270
6.3.9org.jboss.mq.sm.file.DynamicStateManager 270
6.3.10org.jboss.mq.security.SecurityManager 271
6.3.11org.jboss.mq.server.jmx.DestinationManager 273
6.3.12org.jboss.mq.server.MessageCache 274
6.3.13org.jboss.mq.pm.file.CacheStore 274
6.3.14org.jboss.mq.pm.file.PersistenceManager 274
6.3.15org.jboss.mq.pm.rollinglogged.PersistenceManager 275
6.3.16org.jboss.mq.pm.jdbc2.PersistenceManager 275
6.3.17目的地MBean 276
6.3.18借助于JMX管理 279
6.4指定MDBJMS供应商 280
6.4.1org.jboss.jms.jndi.JMSProviderLoaderMBean 281
6.4.2org.jboss.jms.asf.ServerSessionPoolLoaderMBean 282
6.4.3集成其他JMS供应商 283
第7章 JBoss之连接器——JCA配置和架构 285
7.1JCA概述 285
7.2JBossCX架构概述 287
7.2.1BaseConnectionManager2MBean 288
7.2.2RARDeploymentMBean 289
7.2.3JBossManagedConnectionPoolMBean 290
7.2.4CachedConnectionManagerMBean 291
7.2.5JCA资源适配器实例纲要 291
7.3配置JCA适配器 298
7.3.1配置JDBC数据源 299
7.3.2配置常见JCA适配器 303
7.3.3配置实例 306
第8章 JBoss之安全性——J2EE安全性配置和架构 307
8.1J2EE安全性声明概述 307
8.1.1安全性引用 309
8.1.2安全性身份 310
8.1.3安全性角色 311
8.1.4EJB方法许可 312
8.1.5Web内容安全性约束 315
8.1.6使用JBoss中的安全性声明 316
8.2JAAS介绍 316
8.3JBoss安全性模型 321
8.4JBoss安全性扩展架构 328
8.4.1JaasSecurityManager如何使用JAAS 329
8.4.2JaasSecurityManagerServiceMBean 331
8.4.3扩展JaasSecurityManager,JaasSecurityDomainMBean 333
8.4.4基于XML的JAAS登录配置MBean 334
8.4.5JAAS登录配置管理MBean 336
8.4.6使用和开发JBossSX登录模块 336
8.4.7开发自定义登录模块 347
8.5安全远程密码协议 357
8.5.1为SRP提供密码信息 360
8.5.2深入SRP算法 362
8.6使用Java2安全性管理器运行JBoss 367
8.7使用JSSE为JBoss提供SSL 369
8.8配置用于防火墙后的JBoss 376
8.9如何保护JBoss服务器 377
8.9.1jmx-console.war 377
8.9.2web-console.war 377
8.9.3http-invoker.sar 377
8.9.4jmx-invoker-adaptor-server.sar 377
第9章 集成Servlet容器 379
9.1AbstractWebContainer类 379
9.1.1AbstractWebContainer契约 380
9.1.2创建AbstractWebContainer子类 386
9.2JBoss/Tomcat-4.1.x绑定 388
9.2.1嵌入式Tomcat配置元素 389
9.2.2JBoss/Tomcat绑定使用SSL 394
9.2.3为JBoss/Tomcat-4.x绑定配置虚拟主机 401
9.2.4使用外部静态内容 403
9.2.5为JBoss/Tomcat-4.x绑定使用Apache 405
9.2.6使用群集 407
第10章 MBean服务杂记 409
10.1系统属性管理 409
10.2属性编辑器管理 410
10.3服务绑定管理 410
10.4定时任务 417
10.5JBoss日志功能框架 420
10.6RMI动态类装载 421
11.1启程 423
第11章 CMP引擎 423
11.2jbosscmp-jdbc结构 430
11.3实体Bean 431
11.4容器管理持久域 437
11.4.1容器管理持久域抽象访问方法 437
11.4.2容器管理持久域声明 438
11.4.3容器管理持久域列映射 438
11.4.4read-only域 440
11.4.5评审实体Bean访问 440
11.4.6依赖值类 442
11.5容器管理关系 446
11.5.1cmr-field抽象访问方法 446
11.5.2关系声明 447
11.5.3关系映射 448
11.6查询 454
11.6.1finder和ejbSelect声明 455
11.6.2EJB-QL声明 455
11.6.3覆盖EJB-QL到SQL的映射 457
11.6.4JBossQL 457
11.7优化装载 464
11.7.1装载场景 465
11.7.2装载组 466
11.7.3read-ahead 467
11.7.4装载过程 471
11.7.5事务 477
11.8乐观锁 480
11.9实体命令和主键生成 485
11.10Defaults 488
11.11自定义数据源 491
11.11.1函数映射 493
11.11.2类型映射 493
11.11.3用户类型映射 494
第12章 Web服务 495
12.1XDoclet 495
12.2将HelloWorldEJB发布为Web服务 496
附录A JBossGroup和我们的LGPL授权 507
附录B JBossDTDs 518
附录C 实例安装 519
附录D 索引 520