WebLogic挂起(停止响应)了,该怎么办? [zt]

  • Post author:
  • Post category:其他



http://www.bea.com.cn/services/custsupp/techresor/faq/faq_weblogic_11.jsp



文章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是您运行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()方法来获取连接.


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/936/viewspace-60692/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/936/viewspace-60692/