2013-08-21 102 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是全局名称空间中资源的名称。