2011-11-21 95 views
0

我们在weblogic服务器11g版本10.3.5上部署了我们的EJB应用程序,并且我们使用java swing客户端访问服务器上的应用程序。无法从weblogic server11g版本获取大量数据10.3.5

当我们尝试在其中一个客户端请求中进行“%”搜索调用时,客户端从不接收数据,然后抛出PeerGoneException。但是当我查看服务器时,一切正常,没有内存溢出或者有足够的执行线程可用。以下是我在服务器上找到的线程转储。线程的最后一个状态是套接字写入操作。但它永远不会结束。

它可能是一个网络问题或weblogic配置的问题?另外,这只发生在我们安装了weblogic服务器的SUN机器上。在我们的Windows机器上工作正常:

"[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE native   
      java.net.SocketOutputStream.socketWrite0(Native Method)   
      java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)   
      java.net.SocketOutputStream.write(SocketOutputStream.java:136)   
      weblogic.socket.SocketMuxer.internalWrite(SocketMuxer.java:1005)   
      weblogic.socket.SocketMuxer.write(SocketMuxer.java:997)       weblogic.rjvm.t3.MuxableSocketT3$T3MsgAbbrevJVMConnection.sendMsg(MuxableSocketT3.java:462)       weblogic.rjvm.MsgAbbrevJVMConnection.sendOutMsg(MsgAbbrevJVMConnection.java:336)      weblogic.rjvm.MsgAbbrevJVMConnection.sendMsg(MsgAbbrevJVMConnection.java:194)      weblogic.rjvm.MsgAbbrevJVMConnection.sendMsg(MsgAbbrevJVMConnection.java:144)   
      weblogic.rjvm.ConnectionManager.sendMsg(ConnectionManager.java:599)   
      weblogic.rjvm.RJVMImpl.send(RJVMImpl.java:903)       weblogic.rjvm.MsgAbbrevOutputStream.flushAndSend(MsgAbbrevOutputStream.java:394)   
      weblogic.rjvm.MsgAbbrevOutputStream.send(MsgAbbrevOutputStream.java:445)   
      weblogic.rmi.internal.BasicServerRef.postInvoke(BasicServerRef.java:693)   
      weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:537)   
      weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)   
      weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)   
      weblogic.work.ExecuteThread.run(ExecuteThread.java:178) 
+0

您是否尝试启用调试日志记录来缩小问题的范围?线程转储有点通用,但可能与群集或连接有关。 –

+0

嗨Zahir,正如你所建议的,我在SUN solaris机器上的weblogic服务器上启用了调试looging。之后,我发现有以下警告消息:BEA-000450套接字288内部数据记录不可用(可能由于空闲超时而关闭),收到事件-32。这些消息来自多个套接字(大约8到10个具有不同套接字号的消息)。请提供您的意见。 – user1057919

回答

1

不知道你是否仍在寻找答案。

PeerGoneException是由于套接字关闭。当服务器无法接受请求时(例如,当MaxMessageSize超出默认值(10MB)或通过-Dweblogic.MaxMessageSize系统属性覆盖时)通信中断。