资源的JNDI查找失败

时间:2013-08-21 15:55:21

标签: java websphere jndi ejb-3.1 ibm-rad

我正在使用RAD + Webshere-8.5.1运行EJB应用程序。我必须在我的EJB中添加发送电子邮件功能,因为我在IBM控制台应用程序中配置了虚拟邮件会话,如下所示 enter image description here

我正试图在我的无状态Ejb中访问

@Resource(名称= “邮件/ sandMailSession”)
私人会话sandMailSession;

但它失败了,因为NameNotFoundException。

我们是否需要绑定其他设置?

1 个答案:

答案 0 :(得分:3)

'mail / sandMailSession'是全局命名空间中定义的名称。您应该使用ibm-ejb-jar-bnd.xml目录中的META-INF文件将邮件会话绑定到本地组件名称空间:

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

相关问题