0

実行時にクラスをロードすることを実験していますが、興味があります。クラスがこの方法でロードされるときに、@ EJB注釈付きプロパティが挿入される可能性はありますか?クラスは、サーブレットのクラスローダー( ChangeAwareClassLoader )を使用してサーブレットからロードされています。

つまり、次のように定義されたクラスをロードすると、

public class Foo {
  @EJB
  Bar bar;
}

次のようにサーブレットで

ClassLoader cLoader = this.getClass().getClassLoader();
c = cLoader.loadClass("Foo");

EJBバーを挿入したいのですが。

ありがとう。

4

1 に答える 1

1

@EJBEJBは、「管理対象」クラスにのみ注入できます。Java EEでは、これは基本的に、EJB(ステートレスおよびステートフルEJB、メッセージBeanなど)とサーブレット/フィルターのみを意味します。

それ以外のもの(POJO、JPAエンティティなど)にはリソースが注入されないため、それらにアクセスするにはルックアップメカニズムを使用する必要があります。

于 2013-01-15T04:10:06.197 に答える