1

javascript クライアントを使用して、Tomcat 7 に websocket 接続を実装しました。1 つのシナリオを除いて、問題なく動作します。複数の接続を (クライアントを更新して) 次々に開き、すべての接続を閉じると、Tomcat がクラッシュします。デバッグ後、Tomcat をクラッシュさせる関数は WsOutbound オブジェクトの close() 関数であることがわかりました。これが私のコード

です
:
} catch (IOException e) {
logger.debug("出力を閉じる際のエラー");
( m_tickMesageInbound

は MessageInbound を拡張したオブジェクトです) 閉じよ
うとしている接続が既に閉じられているため、エラーが発生するという理論がありますが、これを確認するためのインターフェイスがありません。
messageInbound クラスの onClosed() 関数をオーバーライドし、クロージング関数が発生した場合にスキップするようにコードを設定しようとしましたが、役に立ちませんでした。
Tomcat が完全にクラッシュする、つまりオフラインになり、問題を説明するログが残らないことに注意することが重要です。これを解決する方法についてのアイデアはありますか?

4

1 に答える 1

0

問題を説明するログを残さない

hs_err.log は tomcat/bin フォルダーにあります。これは、問題をさらにデバッグするのに役立ちます。

于 2013-10-09T14:05:28.530 に答える