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