【问题标题】:JNDI lookup failed for Resource资源的 JNDI 查找失败
【发布时间】:2013-08-21 15:55:20
【问题描述】:

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

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

@Resource(name="mail/sandMailSession")
私人会话 sandMailSession;

但它失败了,因为 NameNotFoundException。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-03
      • 2019-03-19
      • 1970-01-01
      • 2013-06-29
      • 2018-09-18
      • 1970-01-01
      • 2013-04-09
      相关资源
      最近更新 更多