セッションBeanはクライアントにより作成され、1セッションの間のみ存続します。セッションBeanは、データベースの読取り、書込みまたは更新などの操作をクライアントにかわって実行しますが、データベースに格納されるデータを表すわけではありません。セッションBeanはトランザクション対応にできます。ただし、永続的ではないため、システム・クラッシュ後のリカバリは不可能です。
セッションBeanは、ステートレスにするか、メソッドおよびトランザクション間でカンバセーショナル・ステートを維持できます。ステートは、セッションBeanとクライアントの間の会話の記述です。EJBコンテナは、セッションBeanについてこのかんばせーショナロールアップ・ステートを維持し、不要になった時点でセッションBeanを破棄します。
ステートフル・セッションBeanは、クライアント・アプリケーションを拡張してそのタスクを代行し、クライアントに関するステートを維持します。このステートにより、クライアントとステートフル・セッションBeanとの間のカンバセーションが維持されます。ステートフル・セッションBean内のメソッドが、このカンバセーショナル・ステートとの間でデータの読取り/書込みを行い、それがBean内の他のメソッド間でも共有されます。ステートフル・セッションBeanのサービス対象は、一度に1クライアントのみです。
エンティティBeanとは異なり、ステートフル・セッションBeanはデータベースに格納されるデータを表すものではなく、データベースまたはシステムのクラッシュ時には消失します。
ステートレス・セッションBeanは内部ステートを持たないため、受動化する必要がなく、複数のクライアントに効率的にサービスを提供できます。ステートフル・セッションBeanとは異なり、ステートレス・セッションBeanは1クライアント専用ではありません。
EJBについて
Enterprise JavaBeansおよびJDeveloperについて
Copyright © 1997, 2007, Oracle. All rights reserved.