ホームページ  >  記事  >  Java  >  セッションとは何ですか? セッション Bean を使用する理由は何ですか?

セッションとは何ですか? セッション Bean を使用する理由は何ですか?

PHP中文网
PHP中文网オリジナル
2017-06-21 10:14:222057ブラウズ

私のブログ投稿の URL

セッションとは

限られた時間内でのクライアントとサーバー間の接続

セッション Bean を使用する理由

ほとんどの EJB サービスはセッション Bean に特化して提供されるため

1. 同時実行性とスレッド セーフティ: コンテナは多くのテクノロジーを使用して、開発者が同時実行性やスレッド セーフティの問題を心配する必要がないことを自動的に保証します
2. 遠隔処理・Webサービスのサービス提供
3. 事務・安全管理
4. インターセプター

セッションBeanの仕様

1. 少なくとも 1 つのビジネス インターフェイスがある (EJB3.1 以降は不要)
2. セッション Bean は固有である必要があり、セッション Bean を最終または抽象として定義することはできません
3. セッション Bean にはパラメーターのないコンストラクターが必要です
4. セッション Bean クラスまたは親クラスでビジネス メソッドとライフサイクル コールバック メソッドを定義できます
5. セッション Bean は、別のセッション Bean のサブクラスまたは他の POJO にすることができます。別のセッション Bean のサブクラスである場合、親クラスで定義されているライフサイクル コールバック メソッドと依存関係注入アノテーションは、現在の Bean クラスによって継承されます。
6. セッション Bean メソッドは「ejb」で始めることはできません。すべてのビジネス メソッドはパブリックである必要があり、最終メソッドまたは静的メソッドにすることはできません。また、セッション Bean がリモートの場合、すべての入力パラメーターと出力パラメーターはシリアル化インターフェイスを実装する必要があります。

ビジネスインターフェース

1. ローカルインターフェース: 同じコンテナー (JVM) インスタンスでの共同操作用の @Local

2. リモート インターフェイス: @Remote 異なるコンテナ (JVM) インスタンスでの共同操作は RMI を通じてアクセスされます

3. Web サービス エンドポイント インターフェイス: @WebService はステートレス Bean に固有であり、ステートレス Bean を SOAP ベースの Web サービスとして公開できます

複数のビジネス インターフェイスの処理: 同じインターフェイスに複数のアクセス タイプ アノテーションをマークすることはできません。コードの重複を避けるために、親インターフェイスを使用してからサブインターフェイスを継承することを選択できます。

ステートレスセッションBean

セッション状態を維持しないタスクをモデル化するために使用されます

2 つの作成モードがあります。1 つはプーリングで、コンテナーがセッション Bean プールを作成し、対応する数のセッション Bean サンプルを作成し、それらを管理します。もう 1 つはシングルトン モードです (EJB3.1 以降のバージョンのみのサポートが必要です)。

注釈: @Stateless は、このクラスがステートレス Bean であることをコンテナに通知し、コンテナは Bean に同時実行制御、スレッド セーフ、プーリング、トランザクション管理、その他のサービスを自動的に提供します

ステートフル セッション Bean

セッション状態の維持が必要なタスクをモデル化するために使用され、EJB コンテナーはセッション状態を維持します

@Remove アノテーションを使用するメソッドがあるはずです

注: セッション データを適切に選択し、使用するリソースが少ないデータを使用するようにしてください。必ずパッシベーションと削除を使用してください。 代替案: Web アプリケーションの場合は、HttpSession を使用して状態を維持します

セッション Bean の最良の実装

1. セッション Bean のタイプ、つまりステートフル Bean かステートレス Bean かを選択します

2. セッション Bean インターフェースのタイプ (@Local、@Remote) を分析します

3. ステートフル セッション Bean をステートレス セッション Bean またはサーブレットに注入しないでください

4. 横断的なトランザクション項目の分割 (インターセプター AOP を使用して処理)

5. ステートフル セッション Bean に格納されるデータ型 (慎重に選択してください)

6. ステートフル セッション Bean は @Remove アノテーション付きメソッドを定義する必要があります

以上がセッションとは何ですか? セッション Bean を使用する理由は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。