2011-06-02 40 views
0

我有一個使用會話ejbs嵌套在耳朵中的戰爭(使用struts 1)。如果我通過lookup(「earname/beanname/local」)從戰爭中查找普通會話bean,那麼一切正常。如果我查找一個@Service ejb的方式與使用NamingException的戰爭失敗相同。JBoss 5.0 EAR:從struts中查找@Service ejb本地接口1與嵌入式war中的jndi查找操作

爲了確保我正確地執行查找,我從另一個start()方法(而不是註釋注入)中查找了一個@Service bean,並且jndi查找成功。

這種行爲的原因是什麼?我目前堅持使用JBoss 5.0。

+1

虛弱,你可以發佈堆棧跟蹤?另外,請查看jmx-console中的JNDIView並檢查綁定名稱和接口。 – Nicholas 2011-06-02 09:51:32

+0

@Nicholas +1謝謝,我不知道JNDIView ..檢查出來 – insipid 2011-06-02 16:24:54

回答

0

通過像尼古拉斯推薦的jmx控制檯後,我能夠追查我的錯誤。

事實證明,我的兩個查找實際上是不同的。戰爭使用了我想要的服務名稱,其他所有(正在工作的)使用的是@Local接口實現的類名。

爲了進一步解釋我使用了@Service(objectName =「blah」)而不是@Service(name =「blah」)。

我現在能夠成功查找我的戰爭中的@Service ejbs。