У меня возникла проблема при использовании DI и перехватчиков в приложении JSF.Инъекция EJB не срабатывает при наличии перехватчика
У меня есть бэк-компонент, который наблюдает события JSF и выполняет некоторый поиск исходных данных. В JSF странице боб зарегистрирован как слушатель событий следующим образом:
<f:event type="preRenderView" listener="#{myBean.loadData}"/>
боб довольно вперед и выглядит в основном так:
@Named
@RequestScoped
public class MyBean {
@EJB
private SomeDao dao;
public void loadData() { ... }
public void performSomeStuff() { ... }
}
дао правильно впрыскивается и все нормально, пока здесь , Теперь я хотел бы выполнить некоторую ленивую загрузку, которая выполняется внутри перехватчика (конкретный код не имеет значения, поскольку такое же поведение проявляется, когда перехватчик просто переходит в контекст вызова). Таким образом, перед вызовом performSomeStuff() Я хотел бы, чтобы обеспечить загрузку всех данных:
@Interceptors(MyInterceptor.class)
public void performSomeStuff() { ... }
На данный момент EJB не получает впрыскивается больше (NPE показывает вверх ...) - любые идеи о это?
Настройки:
- GlassFish 3.0.1
- WELD-000900 1.0.1 (SP3)
- Mojarra 2.0.2 (FCS b10)
Заранее спасибо!
С уважением, Alex
и вы пытались впрыскивать другой компонент (не-ejb)? Это работает? – Bozho 2010-12-07 21:51:21