2012-02-27 2 views
2

weblogicデプロイメント上のいくつかの管理対象インスタンスでスタックされたスレッドをチェックするWLSTスクリプトをテストする必要があります。残念なことに私がテストする必要があるとき、私は自分の頭を後ろにつかまえてスレッドの問題を解決することができません。意図的にスクリプトの検出をテストするスタックされたスレッドを作成できますか?私の考えは、現在、Weblogicの設定でスレッド制限を超えてスレッドをスリープ状態にしていたのですが、それもウェブページのタイムアウトよりも長くなっています。だから私の要求はスレッドが詰まる前にタイムアウトするべきです。 Apache Commons executorはもう一つのアイデアです...誰もこの醜い問題を再現するための洗練されたソリューションを持っていますか?あなたがスタックスレッドを持つようにしたい場合はスタックされたスレッドを作成する(Weblogic)(J2SE)(1.5)

+0

while(true){ try{ Thread.sleep(1000); } catch (Exception e){ break; } } 

たり、モニタにロックできます:あなたは、あなたが無限ループに入れることができます。 –

+0

'get(" domainRuntime:/ ServerRuntimes/server1/ThreadPoolRuntime/ThreadPoolRuntime/ExecuteThreads ")'のようなもので、実行時にスレッドをポーリングしてスレッドを反復すると、 'thread.isStuck() ) 'がtrueを返します – wmarbut

+0

定義されています"つぶされています " –

答えて

0

あなたは、単にそれが

synchronized(this){ 
    wait(); 
} 
1

まず、あなたは、Java EE環境でのスレッドを作成することはありません一時停止することができ、それは仕様で禁じられています。あなたのアプリがこれをやっているなら、あなたはいつも問題があるでしょう。

とにかく、 "スタックスレッド"は少しあいまいです。あなたが再現するために必要な正確な動作を定義してください

while (true){ 
new Object().wait(); 
} 
関連する問題