2009-11-18 60 views
0

加入我希望能夠做這樣的事情在一個無狀態會話Bean自定義資源在運行時

@Resource(name="mycustomthingie") private CustomClass stuff; 

注入的值是上下文(說話:螺紋)有關。 我想這將是可能的,如果我綁定一個ObjectFactory到JNDI上下文提供正確的對象時請求。

據我所知,爲此,我將不得不將資源添加到「java:comp」JNDI上下文中,但EE5規範顯然不允許這樣做。 有沒有一個允許我寫作的子環境,或者有另一種方式來獲得類似於工作的東西嗎?

感謝

彼得

+0

CustomClass包含什麼?只有數據或行爲? – 2009-11-18 17:07:35

回答

2

據相關的this article,在總結JSR-244的資源注入部分(在規範中我找不到這個在一個地方)做得很好:

注射僅限於在Java EE 定義平臺第一 類構造,包括:

  • SessionContext對象
  • DataSources對象
  • UserTransaction
  • EntityManager接口
  • TimerService接口
  • 其他企業Bean
  • Web服務
  • 消息隊列和主題
  • 適用於資源適配器的連接工廠
  • 限制爲字符串,字符,字節,短的環境條目, 整數,長整型,布爾值,雙精度和 浮點數。

注入設施的Java EE 5 並不適用於任何POJO(這是 往往由Spring 社會批評)[...]

因此,如果您CustomClass不是託管組件,而不是一個簡單的環境條目(似乎並非如此),我不認爲你可以注入它。

+0

environemnt條目爲我帶來了這個頁面上的這個想法:http://java.sun.com/developer/technicalArticles/J2EE/injection/ 我希望可以用資源ref或類似的東西來完成。 – ptriller 2009-11-18 19:05:52