2013-08-21 146 views
2

我正在使用RAD + Webshere-8.5.1運行EJB應用程序。我要在我的EJB添加發送電子郵件的功能,對於我在IBM的控制檯應用程序配置虛擬郵件會話跟蹤 enter image description here資源的JNDI查找失敗

,我試圖在我的無狀態EJB訪問作爲

@資源(名稱= 「mail/sandMailSession」)
private Session sandMailSession;

但它的失敗,如NameNotFoundException。

我們是否需要其他設置進行綁定?

回答

3

'mail/sandMailSession'是在全局命名空間中定義的名稱。你應該通過使用內部META-INF目錄ibm-ejb-jar-bnd.xml文件郵件會話綁定到本地組件的命名空間:

<ejb-jar-bnd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://websphere.ibm.com/xml/ns/javaee" 
    xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ejb-jar-bnd_1_0.xsd" version="1.0"> 
    <session name="NAME_OF_EJB"> 
    <resource-ref name="mail/sandMailSession" binding-name="mail/sandMailSession"/> 
    </session> 
</ejb-jar-bnd> 

請注意namebinding-name是不同的屬性,可以有不同的值,但在你的情況下,他們是相同的。 binding-name是全局名稱空間中資源的名稱。