Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

11.2.13. Bean プロキシー

11.2.13.1. Bean プロキシーについて

通常、インジェクトされた bean のクライアントは bean インスタンスへの直接参照を保持しません。bean が依存オブジェクト (スコープ @Dependent) でない場合、コンテナーはプロキシーオブジェクトを使用して、インジェクトされたすべての参照を bean にリダイレクトする必要があります。
この bean プロキシーはクライアントプロキシと呼ばれ、メソッド呼び出しを受け取る bean インスタンスが、現在のコンテキストと関連するインスタンスになるようにします。またクライアントプロキシは、他のインジェクトされた bean を再帰的にシリアライズせずに、セッションコンテキストなどのコンテキストにバインドされる bean をディスクへシリアライズできるようにします。
Java の制限により、コンテナーによるプロキシーの作成が不可能な Java の型があります。これらの型の 1 つで宣言されたインジェクションポイントが、@Dependent 以外のスコープを持つ bean に解決すると、コンテナーがデプロイメントをアボートします。

コンテナーでプロキシーできない Java タイプ

  • パラメーターのない非プライベートコンストラクターを持たないクラス
  • 宣言されたクラスfinalまたは持っているfinal方法
  • アレイおよびプリミティブ型。