2
ステートレスセッションBeanよりもステートフルセッションBeanを使用する場合
ステートフルセッションBeanは次のように定義されます。 ステートフルセッションBeanオブジェクトの状態は、そのインスタンス変数の値で構成されます。ステートフルセッションBeanでは、インスタンス変数は一意のクライアントBeanセッションの状態を表します。クライアントはそのBeanと対話(「トーク」)するため、この状態はしばしば会話状態と呼ばれます。 ステートレスセッションBeanは次のように定義されます。 ステートレスセッションBeanステートレスセッションBeanは、クライアントとの会話状態を維持しません。クライアントがステートレスBeanのメソッドを呼び出す場合、Beanのインスタンス変数には、そのクライアントに固有の状態が含まれる場合がありますが、呼び出しの期間中のみです。メソッドが終了したとき、クライアント固有の状態は保持されるべきではありません。ただし、クライアントはプールされたステートレスBeanのインスタンス変数の状態を変更でき、この状態はプールされたステートレスBeanの次の呼び出しに保持されます。メソッド呼び出し中を除いて、ステートレスBeanのすべてのインスタンスは同等であり、EJBコンテナがインスタンスを任意のクライアントに割り当てることができます。つまり、ステートレスセッションBeanの状態は、すべてのクライアントに適用される必要があります。 ステートフルセッションBeanよりもステートレスセッションBeanを使用する利点は次のとおりです。 ステートレスセッションBeanは複数のクライアントをサポートできるため、多数のクライアントを必要とするアプリケーションのスケーラビリティを向上させることができます。通常、アプリケーションは、同じ数のクライアントをサポートするために、ステートフルセッションBeanよりも少ないステートレスセッションBeanを必要とします。 では、頭に浮かぶ質問は、ステートフルセッションBeanをいつ使用すべきかということです。この問題についての私の素朴な理解には、ステートレスセッションBeanをできるだけ使用することに固執する必要があります。 ステートフルセッションBeanを使用する候補は何でしょうか。良い例はありますか? セッションビーン