私は現在、独立して実行される多くの非同期タスクを含むプロジェクトに取り組んでいます。スプリング構成ファイルが 1 つあります。
<task:executor id="taskScheduler" pool-size="5-20">
<task:executor id="specificTaskScheduler" pool-size="5-50" queue-capacity="100">
<!-- integration beans and
several object pools, with a total number of 100 beans created
using CommonsPoolTargetSource -->
具体的には、Spring 統合のニーズに使用する 2 つのエグゼキューターと、明示的な参照を使用して統合 Bean にフィードするタスクのみを実行するためのカスタム エグゼキューターを作成しました。その後、処理する長時間実行タスクを提供しました。私の EAR は WebLogic で実行されており、実行中のスレッドのスタック トレースをダンプしましたが、カスタム エグゼキューターの 50 のスレッドのほとんどが、プールからオブジェクトが使用可能になるのをエグゼキューターのキューで待機していることに非常に失望しました。CommonsPoolTargetSource がソースを管理するためのプラットフォームとしてエグゼキューターを使用することを望んでいませんでした。ここで何ができますか?CommonsTargetSource Bean で別の spring ファイルを作成すると解決するのでしょうか? アイデアをありがとう。