1

現在、Java には、複数の (場合によっては大きな) ファイルを処理するバッチジョブがあります。これらのジョブの実行には時間がかかる場合があります。ループで継続的に実行される Java スレッドを使用して、これらのファイルを JVM で直接実行します。(ファイルを処理してからしばらく待ちます)。

現在、私が勤務している会社は、Weblogic アプリケーション サーバーでこれらのジョブを実行したいと考えています。優れているからではなく、それが同社の標準プラットフォームだからです。

私が見た潜在的な問題は、BEA weblogic がすべてのスレッドを監視し、デフォルトで 10 分を超えて実行されるスレッドは STUCK スレッドであり、サーバーが FAILED 状態になる可能性があることです。

BEA Weblogic でこれを行うためのベスト プラクティスは何ですか?

4

2 に答える 2

3

BEA Weblogic は、特定の時間に対して要求スレッドのみを監視します。リクエスト処理コードによって生成されたスレッドの場合、そうではありません。Quartz (OpenSymphony 製) スケジューラを使用して、完了までに最大 3 ~ 4 時間かかっていた Weblogic のジョブをスケジュールしました。

于 2009-04-02T10:29:40.467 に答える
1

Weblogic Server は、より長いスレッド実行時間をサポートし、長時間の作業用に最適化された WorkManager を提供します (一般的に言えば、それらは古き良き ThreadPools のフレームワークです)。WorkManager の場合、MaxThreadStuckTime を定義できます。これは、スレッドが停止し、おそらく強制終了したと見なされるまでの時間です。

于 2009-07-09T16:16:05.293 に答える