0

jdk 1.6を使用してjboss 4.2.2サーバーでアプリケーションを実行しています。プログラムには、接続を開くときに http 接続タイムアウトを設定しないというバグがあります。そのため、サードパーティ側に問題があると、接続が永久にハングし、スレッドもハングします。そしてすぐにスレッドが不足しています。ただし、リリース サイクルのため、すぐに修正を加えることができません。jvmの外部からネットワーク接続を終了する方法があるのだろうかと思っていましたか? それで、スレッドはスレッドプールに解放されますか? 同じサードパーティのサイトに対して多くの接続が開かれている可能性があるため、問題のある接続を見つけて、それを強制終了するのは良いことです。

ありがとう、

4

3 に答える 3

0

このServerFaultのQ&Aが関連している可能性があります。tcpkillこれは、接続にアクティブなトラフィックがある場合にのみ機能する ことを説明しています。

(これは、...明らかに... tcpkillTCP RESETパケットを送信することで機能するためです。これが機能するには、正しいシーケンス番号を知っている必要があり、セッションの他のパケットを調べることによってのみこれを把握できます。)

于 2012-05-12T03:29:32.313 に答える
0

netstatの出力を grep し、tcpkillを使用して接続を切断し、 cronを使用してこれを実行できます。

ただし、これは非常に一時的な解決策にすぎません。

于 2012-05-12T03:14:46.597 に答える
0

私自身の質問を探しているときに、スレッドを外部から強制終了する方法に関する優れたチュートリアルと思われるものに出会いました。

http://www.rhcedan.com/2010/06/22/killing-a-java-thread/

于 2012-05-12T05:42:55.627 に答える