1
在JSF應用程序中使用DI和攔截器時,我遇到了一個問題。當攔截器存在時EJB注入失敗
我有一個支持bean,它觀察JSF事件並執行一些初始數據查找。
<f:event type="preRenderView" listener="#{myBean.loadData}"/>
的bean是相當向前基本上是這樣的:在JSF頁面豆如下注冊爲事件偵聽器
@Named
@RequestScoped
public class MyBean {
@EJB
private SomeDao dao;
public void loadData() { ... }
public void performSomeStuff() { ... }
}
的DAO正確注射,一切都很好,直到這裏。現在我想執行一些在攔截器中完成的延遲加載(特定的代碼並不重要,因爲當攔截器在調用上下文中進行時,同樣的行爲出現)。因此,呼籲performSomeStuff()之前,我想,以確保所有數據被加載:
@Interceptors(MyInterceptor.class)
public void performSomeStuff() { ... }
此時EJB沒有得到任何注入更長(NPE顯示出來...) - 任何想法這個?
設置:
- 的GlassFish 3.0.1
- WELD-000900 1.0.1(SP3)
- 鑽嘴魚科2.0.2(FCS B10)
提前感謝!
問候, 亞歷
和你有沒有嘗試注入另一個組件(非ejb)?它工作嗎? – Bozho 2010-12-07 21:51:21