2010-05-15 37 views
2

我正在嘗試使用JNDI在servlet中獲取新的有狀態會話Bean(作爲局部變量)。我doGet()方法有以下幾點:如何在EJB3中使用JNDI獲取新的有狀態會話Bean?

Bean bean = (Bean) new InitialContext().lookup("beanName"); 

我試過,包括java:comp/env但我所有的努力都導致了命名異常。

我試圖在@Stateful註釋豆結合,利用各種猜測像@Stateful(name="beanName")@Stateful(mappedName="beanName")

+0

好的,我想通了。如果這個問題對其他人很有意思,我會在下週回答。 – 2010-05-15 03:29:19

+0

請張貼您的發現! – bguiz 2010-05-18 01:37:21

回答

2

我需要的是用在類級別的servlet中@EJB註釋,如下所示:

Bean beanInstance = (Bean) new InitialContext().lookup("java:comp/env/beanName"); 
@EJB(name="beanName", beanInterface = Bean.class) 

然後在服務方法可能發生使用由@EJB註釋綁定的名稱查找

除了普通的@Stateful註釋之外,Bean類本身並不需要任何東西。

+0

你好......我想知道你是如何解決這個問題的,我嘗試了你的解決方案,但它對我無效! – 2013-01-03 18:07:11

+0

@ Marci男人很遺憾聽到它。我當然不記得任何我沒記錄的東西,那是在30多個月前。也許你可以根據你的具體情況提出一個新問題。 – 2013-01-03 21:42:40

+0

我解決了它......我讓Netbeans爲我做。我右鍵單擊編輯器並選擇插入代碼,然後從那裏選擇Business Bean,然後選擇我的業務bean,Netbeans處理所有事情。它創建了一個bean實例和一個返回初始化bean的方法!我與Netbeans有一種愛恨關係:D – 2013-01-04 13:16:18

相關問題