Java 资源的JNDI查找失败
我正在使用RAD+Webhere-8.5.1运行EJB应用程序。我必须在EJB中添加发送电子邮件功能,为此,我在IBM控制台应用程序中配置了虚拟邮件会话,如下所示 我试图在我的无状态Ejb中作为 @资源(name=“mail/sandMailSession”)Java 资源的JNDI查找失败,java,websphere,jndi,ejb-3.1,ibm-rad,Java,Websphere,Jndi,Ejb 3.1,Ibm Rad,我正在使用RAD+Webhere-8.5.1运行EJB应用程序。我必须在EJB中添加发送电子邮件功能,为此,我在IBM控制台应用程序中配置了虚拟邮件会话,如下所示 我试图在我的无状态Ejb中作为 @资源(name=“mail/sandMailSession”) 非公开会议 但它的失败,正如NameNotFoundException 绑定时是否需要其他设置?'mail/sandMailSession'是在全局命名空间中定义的名称。您应该使用ibm ejb jar bnd.xmlMETA-INF目
非公开会议 但它的失败,正如NameNotFoundException
绑定时是否需要其他设置?'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>
请注意,name
和binding name
是独立的属性,可以有不同的值,尽管在您的案例中它们是相同的<代码>绑定名称是全局命名空间中资源的名称