タグ付けされた質問 「stateful-session-bean」

7
ステートレスおよびステートフルエンタープライズJava Bean
私はJava EE 6チュートリアルを行っており、ステートレスセッションBeanとステートフルセッションBeanの違いを理解しようとしています。ステートレスセッションBeanがメソッド呼び出し間で状態を保持しない場合、なぜ私のプログラムはそのように動作するのですか? package mybeans; import javax.ejb.LocalBean; import javax.ejb.Stateless; @LocalBean @Stateless public class MyBean { private int number = 0; public int getNumber() { return number; } public void increment() { this.number++; } } クライアント import java.io.IOException; import javax.ejb.EJB; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.WebServlet; import mybeans.MyBean; import java.io.PrintWriter; @WebServlet(name …

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を使用する候補は何でしょうか。良い例はありますか? セッションビーン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.