2

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

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

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

但它失败了,因为 NameNotFoundException。

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

4

1 回答 1

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>

请注意,nameandbinding-name是单独的属性,可以具有不同的值,尽管在您的情况下它们是相同的。binding-name是全局命名空间中资源的名称。

于 2013-08-21T22:37:07.357 回答