我们也遇到这个问题,目前也正在寻求解决方法中。
我们估计多数是weblogic本身的问题。

解决方案 »

  1.   

    有没有考虑是进程死锁的原因?13.我的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()方法来获取连接.
      

  2.   

    最好的办法是找bea技术支持。