3

通常、ビジネス/dao レイヤーにはシングルトン インスタンスを使用します。EJB の場合にステートレス セッション Bean をプールする理由は何ですか?

4

2 に答える 2

3

名前の「ステートレス」は、セッションの会話状態、つまり Bean の呼び出し間で持続し、セッションの間保持される状態を指します。ただし、ステートレス セッション Bean は引き続きインスタンス変数を持つことができます。これらのインスタンス変数は、会話状態に関連するべきではありませんが、クライアント間で「共有」されます。

つまり、ステートレス セッション Bean はスレッド セーフであるとは限りません。

その結果、コンテナーは、ステートレス セッション Bean の特定のインスタンスを一度に 1 つのスレッドだけが実行するようにする必要があるため、それらのプールが必要になります。

于 2009-11-13T10:48:24.723 に答える
2
  • それらは構築に費用がかかり、多くの場合、データベース、メッセージ キューなどの外部リソースへのアクセスが必要になるためです。
  • それらの無制限の数が作成されることを望まないため、そうしないとリソースが不足します
  • コンテナーがスレッド セーフを管理できるようにするため
于 2009-11-13T11:05:59.960 に答える