2011-11-21 2 views
0

우리는 WebLogic 응용 프로그램을 weblogic 서버 11g 버전 10.3.5에 배포했으며 java swing 클라이언트를 사용하여 서버의 응용 프로그램에 액세스합니다.weblogic server11g 버전 10.3.5에서 큰 데이터를 가져올 수 없음

클라이언트 요청 중 하나에서 "%"검색 호출을 시도 할 때 클라이언트는 데이터를 수신하지 않고 PeerGoneException을 throw합니다. 그러나 서버를 살펴보면 모든 것이 잘되고 메모리 오버런이 없으며 충분한 실행 스레드가 있음을 알 수 있습니다. 다음은 서버에서 찾은 스레드 덤프입니다. 스레드의 마지막 상태는 소켓 쓰기 작업입니다. 그러나 결코 끝나지 않습니다.

웹 로직 구성에 네트워크 문제가 있거나 문제가 있습니까? 또한, 이것은 우리가 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

Hi Zahir, Sun solaris 시스템의 weblogic 서버에서 디버깅 looging을 사용하도록 제안 했으므로. 그 다음에는 경고 메시지가 있다는 것을 알았습니다. BEA-000450 소켓 288 내부 데이터 레코드를 사용할 수 없음 (유휴 시간 초과로 인해 종료 될 수 있음), 이벤트 수신 -32. 그리고이 메시지는 많은 소켓 (8-10 개의 다른 소켓 번호를 가진 메시지)에서 나타납니다. 의견을 말하십시오. – user1057919

답변

1

여전히 답을 찾고 있다면 확실하지 않습니다.

PeerGoneException은 소켓 닫음으로 인한 것입니다. 서버가 요청을 처리 할 수 ​​없으면 (예 : MaxMessageSize가 기본값 (10MB)를 초과하거나 -Dweblogic.MaxMessageSize 시스템 속성을 통해 재정의 된 경우) 통신이 끊어집니다.

관련 문제