Session Beanについて

Session Beanはクライアントにより作成され、1セッションの間のみ存続します。Session Beanは、データベースの読取り、書込みまたは更新などの操作をクライアントにかわって実行しますが、データベースに格納されるデータを表すわけではありません。Session Beanはトランザクション対応にできます。ただし、永続的ではないため、システム・クラッシュ後のリカバリは不可能です。

Session Beanをステートフルにした場合、カンバセーショナル・ステートをメソッド間およびトランザクション間で維持できます。ステート(状態)とは、Session Beanとそのクライアントとの間におけるカンバセーション(対話)を説明する用語です。EJBコンテナが、Session Beanのカンバセーショナル・ステートを管理し、不要になった時点でSession Beanを破棄します。

ステートフルSession Bean

ステートフルSession Beanは、クライアント・アプリケーションを拡張してそのタスクを代行し、クライアントに関するステートを維持します。このステートにより、クライアントとステートフルSession Beanとの間のカンバセーションが維持されます。ステートフルSession Bean内のメソッドが、このカンバセーショナル・ステートとの間でデータの読取り/書込みを行い、それがBean内の他のメソッド間でも共有されます。ステートフルSession Beanのサービス対象は、一度に1クライアントのみです。

Entity Beanとは異なり、ステートフルSession Beanはデータベースに格納されるデータを表すものではなく、データベースまたはシステムのクラッシュ時には消失します。

ステートレスSession Bean

ステートレスSession Beanは内部ステートを持たないため、受動化する必要がなく、複数のクライアントに効率的にサービスを提供できます。ステートフルSession Beanとは異なり、ステートレスSession Beanは1クライアント専用ではありません。


関連項目

Enterprise JavaBeansアプリケーションの開発

 

 

Copyright © 1997, 2004, Oracle. All rights reserved.