《叱咤风云 WebLogic企业级运维实战》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:戴冠平编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302267607
  • 页数:390 页
图书介绍:本书由浅入深地论述了WebLogic的体系和理念,结合作者多年业内专家的从职经验,充分透彻的剖析了WebLogic的核心技术,对于大型J2EE中间件应用,给出了系统性的方案和建议。

第1篇 入门篇 2

第1章 WebLogic概述 2

1.1什么是WebLogic系统 2

1.2 WebLogic的历史及发展 2

1.3 WebLogic支持的平台及数据库 3

1.4 WebLogic 10g/11g新特性 3

1.5 WebLogic的技术架构 3

1.6 WebLogic系统的关键特性 4

1.7 WebLogic与其他产品横向与纵向的比较 4

第2章 Windows平台WebLogic的简单安装 6

2.1安装前的准备工作 6

2.2安装WebLogic的详细步骤 6

2.3创建一个WebLogic域 11

2.4启动WebLogic Server 16

2.5测试安装 17

第2篇 基础篇 20

第3章 WebLogic的基本概念 20

3.1域Domain 20

3.1.1域的概念、范围和限制 20

3.1.2为什么要使用域 21

3.2服务器 21

3.2.1管理服务器 21

3.2.2受管服务器 22

3.3计算机Machine 23

3.3.1 Machine的概念 23

3.3.2为什么要使用Machine 23

3.4集群Cluster 24

3.4.1集群的概念 24

3.4.2主要功能 24

3.4.3基本集群架构 25

3.4.4多层集群架构 25

3.4.5何时使用多层集群架构 25

3.4.6基本集群架构的优缺点 26

3.4.7多层集群架构的优缺点 26

3.4.8代理服务器 26

3.4.9基本集群代理架构 27

3.4.10多层集群代理架构 27

3.5开发模式与生产模式 28

第4章 WebLogic主要目录结构 29

4.1总体目录结构分布 29

4.2 user_projects目录 30

4.3 utils目录 31

4.4 WebLogic home目录 31

4.5其他目录 31

第5章 WebLogic配置相关文件 33

5.1启动与服务相关的几个文件 33

5.1.1 setDomainEnv.cmd/setDomainEnv.sh 33

5.1.2 startManagedWebLogic.cmd/startManagedWebLogic.sh 33

5.1.3 startWebLogic.cmd/startWebLogic.sh 33

5.1.4 stopWebLogic.cmd/stopWebLogic.sh 34

5.1.5 stopManagedWebLogic.cmd/stopManagedWebLogic.sh 34

5.2系统配置文件config.xml 34

5.2.1 WebLogic管理和config.xml文件概述 34

5.2.2何时去编辑config.xml 35

5.2.3 config.xml文件里的内容 35

5.3属性文件weblogic.xml 36

5.3.1概要说明 36

5.3.2可配置的属性详解 36

5.4属性文件web.xml 50

5.4.1概要说明 50

5.4.2可配置的属性详解 51

5.5日志文件 58

5.5.1域日志 58

5.5.2服务器日志server.log 58

5.5.3访问日志access.log 58

第6章 Java虚拟机(JVM)相关知识 60

6.1 JVM简介 60

6.2常见JDK的内存机制 60

6.3 Java的GC (Garbage Collection)原理 61

6.4 JVM中的ClassLoader 61

6.4.1 ClassLoader概述 61

6.4.2 Java类加载器 62

6.4.3 WebLogic类加载器 63

6.4.4 WebLogic Server对应用程序类加载的机制 65

第3篇 实施篇 76

第7章 集群的安装与配置 76

7.1集群知识回顾 76

7.1.1集群概念 76

7.1.2集群的体系结构 76

7.2创建集群的条件 77

7.3代理服务器Proxy 78

7.3.1代理服务的角色和作用 78

7.3.2代理服务器的配置 79

7.3.3 F5硬件负载平衡器及其他 81

7.4如何创建集群 81

7.4.1集群环境确定 81

7.4.2集群配置步骤 82

7.5集群的启动 90

7.5.1管理服务器Admin Server的启动 90

7.5.2受管服务器Managed Server的启动 91

7.6集群中应用的部署 93

7.7集群测试 95

7.8 Session复制 96

7.8.1 Session复制的原理 96

7.8.2 Session复制的配置 97

7.9新建启动脚本 99

7.9.1启动服务器脚本 99

7.9.2启动被管服务器脚本 99

7.9.3启动代理服务器脚本 100

第8章 WebLogic常用的管理操作 101

8.1添加删除服务Service 101

8.1.1消息传送 101

8.1.2 JDBC 101

8.1.3持久性存储 101

8.1.4路径服务 102

8.1.5外部JNDI提供程序 102

8.1.6工作上下文 102

8.1.7 XML注册表 102

8.1.8 XML实体高速缓存 102

8.1.9 jCOM 102

8.1.10邮件会话 102

8.1.11 File T3 103

8.1.12 JTA 103

8.2 Machine配置 103

8.3 JDBC配置 103

8.4 Node Manager的配置 107

8.5 JMS配置 108

8.6 WTC配置 110

8.7内存参数的修改 111

8.8更换JDK 112

8.9 WebLogic如何打补丁 112

第9章 与开源SSH框架的兼容 114

9.1 MVC模型 114

9.1.1 MVC简介 114

9.1.2 MVC如何工作 114

9.1.3为什么要使用MVC(优点) 115

9.1.4 MVC的缺点 115

9.2开源框架综述 116

9.2.1 Struts简介 116

9.2.2 Spring简介 117

9.2.3 Hibernate简介 118

9.3 WebLogic与Spring的兼容性 119

9.3.1集群化部署Spring应用 120

9.3.2 Spring会话复制 120

9.3.3集群化的Spring远程控制 120

9.3.4对Spring组件的控制台支持 120

9.3.5 Web服务支持 121

9.3.6安全性框架 122

9.3.7分布式事务支持 122

9.3.8 WebLogic Server上的Spring Framework版本兼容 122

9.3.9 Spring中遇到的问题 125

9.4 WebLogic与 Struts的兼容性 126

9.4.1调试和日志记录Struts应用程序 126

9.4.2调试WebLogic类加载器 127

9.5 WebLogic与Hibernate的兼容性 130

9.5.1 Hibernate中可能遇到的问题 130

9.5.2问题原因分析 131

9.5.3解决方法 132

9.6从Tomcat开源项目移植入WebLogic问题总结 132

9.6.1 JDK和Servlet版本问题 132

9.6.2 Include问题 132

9.6.3打包后Log4j支持问题 133

9.6.4 Axis远程调用.net Web Service问题 134

第4篇 诊断篇 136

第10章 如何发现问题 136

10.1 WebLogic监控 136

10.1.1操作系统检查 136

10.1.2网络检查 136

10.1.3 WebLogic检查 136

10.2日志文件的获取 139

10.2.1 server_name.log 139

10.2.2 access.log 140

10.2.3 GC.log 140

10.2.4 domain_ name.log 140

10.2.5 jms.messages.log 140

10.3启动脚本与配置参数文件的获取 140

10.4 Thread dump的获取和分析 141

10.4.1什么是Thread dump 141

10.4.2如何获取Thread dump 141

10.4.3 Thread dump分析说明 141

10.4.4实际环境中Thread dump分析示例 143

10.5 Heap dump的获取和分析 149

10.5.1什么是Heap dump 149

10.5.2如何获取Java Heap dump 149

10.5.3什么是Jps和Jmap 149

10.5.4 Jmap的作用 149

10.5.5 Jmap的分析方法 151

10.6关于Java dump的一些常见问题 153

第11章 常规服务器挂起故障 154

11.1服务器挂起概述 154

11.1.1什么是服务器挂起 154

11.1.2服务器挂起分类 154

11.1.3服务器挂起症状 154

11.2常规服务器挂起故障 155

11.2.1服务器挂起成因总述 155

11.2.2服务器挂起具体成因 155

11.3服务器挂起探查 156

11.3.1基本探查步骤 156

11.3.2查看执行线程运行状态 156

11.3.3创建Thread dump 157

11.3.4初始探查结果分析 158

11.4故障排除检查清单 162

11.4.1垃圾回收导致服务器挂起 163

11.4.2代码优化中服务器挂起 164

11.4.3应用程序死锁导致服务器挂起 164

11.4.4 JDBC中的服务器挂起 166

11.4.5 EJB RMI服务器挂起 172

11.4.6 JSP编译导致服务器挂起 175

第12章 异常高CPU占用率故障 176

12.1异常高CPU占用率概述 176

12.1.1回顾:进程、线程和CPU占用率 176

12.1.2异常高CPU占用率的故障症状 176

12.2异常高CPU占用率探查 176

12.2.1探查概述 176

12.2.2在Solaris平台上探查 176

12.2.3在HP-UX平台上探查 179

12.2.4在Linux平台上探查 180

12.2.5在AIX平台上探查 181

12.2.6在Windows平台上探查 184

12.3异常高CPU占用率故障排除策略及相关资源 185

第13章 执行线程丢失故障 186

13.1 WLS的执行线程 186

13.2丢失线程时的故障症状 186

13.2.1故障症状概述 186

13.2.2线程丢失时Thread dump信息示例 187

13.3线程丢失原因及相应的解决方法分析 187

13.3.1线程丢失原因概述 187

13.3.2 JVM堆内存不足造成的线程丢失 188

13.3.3应用程序的异常处理造成的线程丢失 189

13.4故障排除检查清单 189

第14章 服务器core dump分析 190

14.1什么是服务器core dump文件 190

14.2什么情况下可以导致core dump文件的生成 190

14.3服务器core dump探查 190

14.3.1探查概述 190

14.3.2探查Solaris系统 191

14.3.3探查Linux系统 191

14.3.4探查HPUX系统 195

14.3.5探查AIX系统 196

14.3.6探查Windows系统 197

14.3.7未提供调试器的系统探查 197

14.4未生成core文件的解决办法 199

14.4.1确保服务器发生故障时可以产生core dump文件 199

14.4.2备用方案:获得最后时刻的Thread dump 199

14.5总结:故障排查清单 199

第15章 打开文件过多故障 200

15.1打开的文件过多概述 200

15.2相关知识回顾 200

15.2.1在什么时候会打开文件 200

15.2.2文件描述符 200

15.2.3与文件描述符有关的系统参数 201

15.2.4文件描述符的释放 202

15.3打开的文件过多问题及故障 202

15.3.1与打开的文件过多有关的问题 202

15.3.2与打开的文件过多有关的故障症状 203

15.4打开的文件数过多问题探查 203

15.4.1服务器日志文件描述符极限 204

15.4.2类UNIX平台上探查 204

15.4.3 Windows平台上探查 205

15.5故障排除策略 206

15.5.1故障排除策略一 206

15.5.2故障排除策略二 206

第16章 内存不足和内存泄漏故障 207

16.1内存不足/内存泄漏错误概述 207

16.1.1内存不足/内存泄漏简介 207

16.1.2内存不足分类 207

16.2关键知识点回顾 207

16.2.1 Java堆 207

16.2.2本地内存 208

16.2.3进程大小 208

16.2.4垃圾回收 208

16.2.5可及对象及对象的可及程度 208

16.2.6虚拟内存与物理内存 208

16.2.7 WTC: WebLogic Tuxedo Connector 209

16.3内存不足错误分类探讨 209

16.3.1 Java堆内存不足错误 210

16.3.2本地内存不足错误 214

16.3.3 WTC及WTC内存不足问题分析 217

16.4故障排除检查清单 220

16.4.1故障排除检查清单综述 220

16.4.2 Java堆内存不足故障排除检查清单 221

16.4.3本地内存不足故障排除检查清单 221

16.4.4 WTC内存不足故障排除检查清单 221

第17章 不可恢复堆栈溢出故障 222

17.1什么情况下可导致堆栈溢出 222

17.2堆栈溢出的故障症状 222

17.3堆栈溢出探查 223

17.3.1确定可以利用的信息 223

17.3.2查看日志中的堆栈跟踪 223

17.3.3探查二进制核心文件 223

17.4堆栈溢出的解决办法 224

17.5故障排除检查清单 225

第18章 缓存满异常故障 226

18.1实体bean池加载和缓存加载 226

18.1.1实体bean概述 226

18.1.2实体bean池加载和缓存加载 226

18.1.3实体bean的生命周期 226

18.1.4实体bean池和缓存大小 227

18.2有状态会话bean缓存加载 227

18.2.1有状态会话bean回顾 227

18.2.2有状态会话bean的生命周期 227

18.2.3有状态会话bean参数 228

18.2.4 EJB缓存和JVM堆 228

18.3缓存满问题的故障症状和成因 228

18.4探查缓存满问题 228

18.4.1精确定位缓存满问题 228

18.4.2探查缓存满问题 229

18.4.3缓存满问题的成因 229

18.5故障排除检查清单 232

第19章 Java虚拟机GC及其相关问题 233

19.1 JVM的GC概述 233

19.2回顾:JVM的内存管理及GC算法 233

19.2.1栈内存Stack 233

19.2.2堆内存Heap 234

19.2.3常用的GC算法 235

19.3 GC统计信息 237

19.4 JVM常用命令行参数设置 239

19.4.1通用参数 239

19.4.2 Java虚拟机几个命令行参数说明 240

19.4.3 Sun的JVM参数 242

19.4.4 IBM的JVM参数 244

19.5 JVM性能优化 244

19.5.1优化目标 245

19.5.2如何设置GC 245

19.5.3如何监视JVM GC 245

19.5.4性能优化 246

第20章 JMS消息重发故障 249

20.1 JMS简介 249

20.2问题描述 249

20.3问题定位 249

20.3.1为什么JMS消息会被重新发送 249

20.3.2 JMS重新发送故障的两种类型 250

20.3.3 JMS重新发送模式问题 250

20.4 JMS确认 250

20.5事务会话 251

20.5.1使用JMS事务会话的操作 251

20.5.2 JMS事务会话的适用范围限制 251

20.5.3容器管理的事务 251

20.5.4 bean管理的事务 251

20.6设置确认模式 252

20.7诊断JMS重新发送问题 252

20.7.1应用程序设计 252

20.7.2应用程序代码诊断 252

20.7.3 JMS调试 254

20.8检查“恶性”消息 255

20.9故障排除检查清单 255

第21章 常规JDBC问题故障 256

21.1 JDBC概述 256

21.1.1什么是JDBC及其作用 256

21.1.2 JDBC驱动程序实现分类 256

21.1.3 WebLogic常用的JDBC驱动 257

21.2 WebLogic中的JDBC配置 257

21.2.1连接池 257

21.2.2数据源 259

21.3与JDBC有关的故障 260

21.3.1由创建连接池造成的WLS启动缓慢 260

21.3.2连接池创建失败 261

21.3.3 JDBC配置不正确造成的连接池创建问题 262

21.3.4资源异常问题 265

21.3.5 ORA-01000打开的游标数过多错误 267

21.3.6 ORA-03113连接中断错误或01012未登录错误 268

21.3.7防火墙关闭空闲连接问题 269

21.3.8防火墙关闭空闲JMS连接问题 270

21.3.9 WebLogic Server崩溃 270

21.3.10内存泄漏故障 271

21.3.11连接被重建的问题 271

21.4针对生产环境中JDBC的调整建议 271

21.5故障排除检查清单 272

21.5.1故障排除策略 272

21.5.2其他故障排除策略 272

第22章 全局事务与JTA的支持故障 274

22.1什么是分布式事务与全局事务 274

22.1.1事务及事务操作ACID特性 274

22.1.2分布式事务处理 274

22.1.3全局事务 275

22.1.4 XA与两阶段提交协议 275

22.2如何使用全局事务 276

22.2.1配置连接池和数据源 276

22.2.2为数据源配置事务选项 277

22.2.3全局事务样例 277

22.3相关的WebLogic中JTA设置问题 281

第23章 中文乱码相关问题 282

23.1引言 282

23.2 JSP与页面参数之间的乱码 283

23.3 Java与数据库之间的乱码 284

23.4 Java与文件/流之间的乱码 285

23.5其他 285

23.6关于WebLogic的国际化 288

23.7关于WebLogic的日志乱码 290

第24章 WebLogic集群故障 292

24.1问题定位 292

24.1.1集群概述 292

24.1.2如何检测集群故障 292

24.2集群常规配置 293

24.2.1一般性配置 293

24.2.2 Multicast相关配置 294

24.3集群负载均衡 295

24.3.1负载均衡两方面的定义 295

24.3.2 Servlet和JSP的负载平衡 295

24.3.3 EJB和RMI对象的负载平衡 296

24.3.4 JMS的负载平衡 297

24.3.5 JDBC连接的负载平衡 297

24.3.6负载平衡器的算法 297

24.3.7方法补充——共存对象的优化 301

24.3.8负载平衡器的故障检测功能 303

24.3.9非负载平衡层与负载平衡层的对比 303

24.3.10负载均衡的优缺点 305

24.4集群故障转移与复制 305

24.4.1 Servlet和JSP的复制和故障转移 305

24.4.2 EJB和RMI的复制和故障转移 308

第25章 组播错误分析 310

25.1组播错误概述 310

25.1.1组播的错误表现形式 310

25.1.2组播错误消息 310

25.2组播错误的成因 310

25.3组播问题探究 311

25.4组播的测试和调试 313

25.4.1组播测试 313

25.4.2组播调试 313

25.5组播排除策略 314

第26章 使用代理插件时的HTTP负载平衡不均故障 315

26.1回顾:常见的代理插件 315

26.1.1 Apache代理插件 315

26.1.2 IIS代理插件 317

26.2使用代理插件的HTTP负载平衡不均的症状和成因 319

26.2.1负载不均症状 319

26.2.2负载不均成因 319

26.3负载不均探查 319

26.3.1探查基本步骤 319

26.3.2启动调试 319

26.3.3调试信息分析 322

26.4问题排除检查清单 325

第27章 HTTP会话复制失败故障 326

27.1回顾:HTTP会话、持久性和复制 326

27.1.1 HTTP Session 326

27.1.2 HTTP会话持久性 326

27.1.3 HTTP会话Failover 326

27.2复制失败的成因和故障症状 327

27.2.1 HTTP会话复制失败的故障症状 327

27.2.2 HTTP会话复制失败的可能成因 327

27.3探查HTTP会话复制失败 328

27.3.1探查会话复制失败的基本步骤 328

27.3.2启用调试 328

27.3.3调试信息分析 329

27.3.4问题排查 330

27.4 HTTP会话性能因素 332

27.5故障排除清单 332

27.5.1收集诊断数据 332

27.5.2确认配置 333

第28章 类转换异常故障 334

28.1回顾:Java类、转换和类加载器 334

28.2类转换异常的故障症状和成因 335

28.3探查类转换异常 335

28.3.1应用程序诊断 335

28.3.2已知的WebLogic Server类转换问题 336

28.4故障排除检查清单 337

第29章 SSL问题故障 338

29.1 SSL相关知识 338

29.1.1什么是SSL 338

29.1.2什么是SSL证书、证书链 338

29.1.3证书类型 338

29.1.4证书颁布机构 339

29.1.5什么是SSL握手 339

29.2 SSL问题概述 339

29.2.1 WebLogic Server SSL配置 339

29.2.2配置WLS密钥库 340

29.2.3 SSL问题成因 340

29.2.4 SSL问题的故障症状 340

29.3检查安全套接字层故障 340

29.3.1使用SSL调试进行探查 340

29.3.2使用SSL调试输出 341

29.4检查和诊断SSL问题 341

29.4.1 SSL证书问题及解决办法 341

29.4.2 SSL证书链问题及解决办法 341

29.4.3 SSL握手问题及解决办法 342

29.4.4 SSL警报问题及解决办法 342

29.5故障排除检查清单 343

第30章 域信任问题故障 344

30.1定位域信任问题故障 344

30.1.1基本概念回顾 344

30.1.2域信任考虑事项 344

30.1.3域信任故障症状 345

30.1.4设置域Credential 347

30.2故障排除检查清单 350

第31章 LDAP问题故障 351

31.1什么是LDAP 351

31.2 WebLogic Server对LDAP的支持 351

31.2.1内嵌LDAP 351

31.2.2外部LDAP 351

31.3 LDAP身份验证和授权 354

31.4 LDAP安全性 355

31.5探查LDAP问题 356

31.5.1故障症状 356

31.5.2 LDAP工具及相关安全调试标志 356

31.5.3内嵌的LDAP问题 358

31.5.4 LDAP连接错误 358

31.5.5性能问题 360

31.6故障排除检修清单 361

31.7话题扩展 361

第32章 目录服务JNDI及其相关问题 363

32.1什么是JNDI 363

32.1.1 JNDI简介 363

32.1.2应用JNDI 363

32.2如何使用JNDI 365

32.3 WebLogic中JNDI相关管理 368

32.3.1查看JNDI树步骤 368

32.3.2范例 368

32.4 WebLogic相关JNDI设置问题 369

32.4.1 WebLogic相关JNDI的设置 369

32.4.2 WebLogic中涉及JNDI的配置 370

第33章 管理框架JMX及控制台的相关问题 373

33.1 JMX简介 373

33.2 JMX架构中的各层及相关的组件 373

33.2.1设备层 374

33.2.2代理层 376

33.2.3分布服务层 379

33.3一个简单的JMX应用 379

33.3.1配置环境 379

33.3.2一个简单的JMX应用的代码 379

33.3.3说明 381

33.3.4运行HelloAgent测试 381

33.3.5使用JDK的Jconsole来连接Mbean 381

33.4 WebLogic诊断框架 383

33.4.1什么是WebLogic诊断框架 383

33.4.2 WLDF诊断框架结构体系概述 384

33.4.3用WLDF运行一个demo 387

后记 390