【问题标题】:Websphere 7 and EJB 2.1 - JNDI name not specifiedWebsphere 7 和 EJB 2.1 - 未指定 JNDI 名称
【发布时间】:2018-03-02 03:12:06
【问题描述】:

环境 - WAS 7.0 和 EJB 2.1

我有一个带有 EJB jar 文件的 EAR。它有一些我想转换为本地 EJB 的远程 EJB (EJB 2.1)。因此,我不得不根据我的理解修改 ejb-jar.xml。

我修改后的ejb-jar xml文件如下:

<ejb-jar id="ejb-jar_ID" version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
....
...
<session id="Manager">
            <ejb-name>Manager</ejb-name>
            <home>com.aa.bb.ManagerHome</home>
            <remote>com.aa.bb.ManagerRemote</remote>
            <ejb-class>com.aa.bb.Manager</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
            <local-home>com.aa.bb.ManagerLocalHome</local-home>
            <local>com.aa.bb.ManagerLocal</local>
            <ejb-local-ref id="EJBLocalRef_1139997836094">
                <ejb-ref-name>ejb/ManagerLocalHome</ejb-ref-name>
                <ejb-ref-type>Session</ejb-ref-type>
                <local-home>com.aa.bb.ManagerLocalHome</local-home>
                <local>com.aa.bb.ManagerLocal</local>
                <ejb-link>Manager</ejb-link>
            </ejb-local-ref>

,是本地ejb新增的标签。

而我的Bindings文件如下-

<ejbbnd:EJBJarBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejb="ejb.xmi" xmlns:ejbbnd="ejbbnd.xmi" xmi:id="EJBJarBinding_1107442316219">
                <ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/>
                .....
                .....
            <ejbBindings xmi:id="EnterpriseBeanBinding_1142021363669" jndiName="ejb/ManagerLocalHome">
                <enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#Manager"/>
                <resRefBindings xmi:id="ResourceRefBinding_1315855161720" jndiName="OraDataSource">
                    <bindingResourceRef href="META-INF/ejb-jar.xml#ResourceRef_1142023723001"/>
                </resRefBindings>
            </ejbBindings>

在部署 EAR 文件期间,我收到以下错误 -

com.ibm.websphere.management.application.client.AppDeploymentException: ADMA0014E: 验证失败。 ADMA0007E: 将 EJB 引用映射到企业 bean 的任务中发生验证错误。
Java 命名和目录接口 (JNDI) 名称未指定用于使用 EJB 名称 Manager 的模块 ZZZZZ 中的引用绑定 ejb/ManagerLocalHome。

知道为什么它会在定义 JNDI 时抱怨它吗? 我错过了什么吗?

【问题讨论】:

    标签: ejb websphere ejb-jar.xml


    【解决方案1】:

    似乎 jndiName 应该 jndiName="ejb/Manager" 在绑定文件中,它开始为我工作。 必须运行它 rhought rmic 但查找现在正在工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 2013-01-30
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多