ユーザーが外部リソースへのリクエストをトリガーできるようにするWebアプリケーションがあります。外部リソースは、結果を収集するために不特定の時間を費やすため、更新を取得し、完了時に最終結果を収集するために、外部リソースをポーリングする必要があります。
ユーザーがリクエストをトリガーするとキューに追加され、ユーザーが他のことをしている間に、多数のワーカースレッドが各リクエストを取得してポーリングを実行するようにします。
日中のリクエスト数は大きく異なるため、遅いときに多くのワーカーが何もしないのはリソースの無駄になると考えられますが、同時に、ピーク負荷を処理するのに十分なワーカーが必要です。システム。
待機中のリクエストが多い場合はワーカーを追加できるものが必要ですが、やることがほとんどない場合はワーカーを強制終了します。
EJBを使用してこれを行うことは可能でしたが、使用したくありません。また、JMSやその他の大規模なフレームワークを使用してこれを処理することは、すでに使用しているもの(Spring、Quartz、多くのApacheのもの)でない限り、使用したくありません。
EJBはこれをサポートしており、そこで見つかったより便利な機能の1つであるため、誰かがすでにこの問題を解決していると思います。提案?