私は現在、基本的に Web サービスからメッセージを受信し、このメッセージの内容に基づいてダウンロード プロセスを開始する新しい EJB アプリケーションを作成しています。このアプリケーションは Glassfish 3.1.1 で動作します。
私の最初のアイデアは、Web サービスからメッセージを読み取り、ステートフル セッション Bean を使用してダウンロード自体を開始および処理するシングルトン Bean を作成することでした。シングルトンとステートフル Bean の間の変換状態 (ダウンロード ステータスなど) が必要なため、ステートフル Bean を使用する必要があります。
「問題」は、Web サービスから複数のメッセージを受信した場合、複数のダウンロードを並行して開始することになっていることです。もちろん、各ダウンロードには独自のコンテキストがあります。シングルトンからステートフル セッション Bean を呼び出す場合、常に同じ Bean を取得するので、どうすればこれを達成できるのでしょうか? 私が見る唯一の解決策は、シングルトンから作成および起動されるスレッドを使用することですが、これは EJB 仕様では許可されていません...
ご協力いただきありがとうございます !