0

@Injectステートレス セッション Bean を のサブクラスにすることは可能AuthenticatorBaseですか?

JBoss を 7.1.1 として使用しています。

私のコードは次のようになります。

...

public class myValve extends AuthenticatorBase {

    @Inject AuthController controller;

    //some code ...

}

コントローラ オブジェクトを使用すると、 が発生しますNullPointerException

4

1 に答える 1

1

controller が null の場合、myValve オブジェクト自体が注入されなかったことを意味します。

たとえば、次のコードを使用して、既存のオブジェクトをさかのぼって CDI コンテキストに追加することができます。

public <T> void addToCDI(T object) {
    BeanManager beanManager = BeanManagerProvider.getInstance().getBeanManager();
    AnnotatedType<T> annotatedType = beanManager.createAnnotatedType((Class<T>)bject.getClass());
    InjectionTarget<T> injectionTarget = beanManager.createInjectionTarget(annotatedType);
    CreationalContext<T> context = beanManager.createCreationalContext(null);
    injectionTarget.inject(object, context);
}

このコードの実行後、インジェクションが実行されました。

于 2014-03-28T20:30:39.463 に答える