2011-12-30 12 views
0

パフォーマンス上の理由からBeanはステートレスでなければならないため、アプリケーションサーバーはBeanのプールを維持し、要求元のクライアントにそれらを割り当てることができます。EJBステートレスBeanと同等のSpring

このような種類の豆に相当するものは何ですか? Springでは、シングルトン、プロトタイプ、リクエスト、セッション、グローバルセッションなど、Beanの他のスコープを持っています。

+1

実際にはステートレスであるシングルトンのデフォルトスコープを使用しない限り、 – NimChimpsky

+0

"パフォーマンス上の理由からBeanはステートレスでなければなりません"というような理由はありません。ステートフルまたはシングルトンBeanが必要な場合は、それが必要です。ただし、必要がない場合などステートフルな豆を使用するのは無駄です。ステートフルな豆にこだわるべきです。 –

+0

@ArjanTijmsそれは私が言いたかったものです:) – mmatloka

答えて

2

各Spring Beanは、ステートレスにシングルトンとして実装する必要があります。シングルトンBeanに状態を導入しないでください。このようなアーキテクチャでは、プールすることによる実際の利益はありません。

+0

プーリングの利点がない場合、EJBにステートレスBeanがある理由 – grep

+0

ステートレスの「状態」は、クライアントの視点からのものであるため(呼び出し元のクライアントとそのサービングBeanとの間には関係がなく、それぞれの呼び出しが異なるBeanによって提供されるなど)ステートレスBeanは、例えばDB接続のように、作成するのに膨大な他のリソースを保持することができます。したがって、明白な理由から実際にプールする価値があります。 – Kousalik

関連する問題