0

EJB アプリケーションを weblogic サーバー 11g バージョン 10.3.5 にデプロイし、Java Swing クライアントを使用してサーバー上のアプリケーションにアクセスしています。

クライアント要求の 1 つで「%」検索呼び出しを実行しようとすると、クライアントはデータを受信せず、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)
4

1 に答える 1

1

あなたがまだ答えを探しているかどうかわからない。

PeerGoneExceptionは、ソケットの閉鎖が原因です。サーバーが要求を受け取れない場合(たとえば、MaxMessageSizeがデフォルト(10MB)を超えた場合、または-Dweblogic.MaxMessageSizeシステムプロパティを介してオーバーライドされた場合)、通信は切断されます。

于 2012-08-07T08:39:34.400 に答える