SolutionsSolutions Products Services Support Developers Partners Customers About BEA
专业咨询服务
客户支持服务
服务导航
活动与新闻
技术资源
AskBEA
常见技术问题
BEA产品文档
BEA新闻组
dev2dev 中文站点
dev2dev 英文站点
其它有用资源
联系我们
ALUI & ALBPM支持
培训服务
最新培训
服务


related links header
item indicator 如何购买BEA产品
item indicator 产品文档
item indicator BEA客户
item indicator 培训
item indicator 客户支持
item indicator SOA资源中心
Developer Resources
BEA dev2dev
BEA dev2dev网站
在线技术论坛
资源中心
User Group
客户支持服务

技术资源


常见技术问题(FAQs)

WebLogic 常见问题
     
最近更新时间
作者:
浏览次数:
 
文章ID:1004
文章标题: 我的WebLogic挂起(停止响应)了,我该怎么办?
文章关键字: 挂起
文章路径: http://www.bea.com.cn/channel/support/FAQs/WebLogic/1004.htm
 

我的WebLogic挂起(停止响应)了,我该怎么办?

WebLogic系统挂起说明系统有线程死锁的问题,这时您需要做thread dump来获取您的线程的运行情况,从而断定是什么操作导致了死锁。

在Windows系统要获得thread dump信息,您需要在WebLogic运行的窗口按Ctrl+Break键;而对于Unix系统,则需要执行: kill -3 <pid> 。其中pid是您运行WebLogic的JVM的进程号.如果不能产生thread dump,请和JVM提供商联系。对于Solaris系统,您可能需要在LD_LIBRARY_PATH的前边加上/usr/lib/lwp.

Thread dump会显示出系统中所有线程的当前运行情况。状态为runnable的线程为当前可运行的;状态为waiting on monitor的线程一般为当前在执行wait()操作;状态为waiting for monitor entry的线程为当前在等待锁。您需要特别注意这些状态为waiting for monitor entry的线程,因为正是他们造成了死锁。如果您看到您自己的代码处于waiting for monitor entry状态,请检查您的代码;如果您发现是WebLogic系统的线程造成死锁,请和Bea的技术支持联系。

一个最常见的系统死锁问题是由于用户采用了DriverManager.getConnection(),这是因为DriverManager的getConnection方法是同步的.解决的办法就是使用WebLogic提供的数据库连接池,或是改用Driver.connect()方法来获取连接.