当前位置: 首页 > 知识库问答 >
问题:

Websphere 7和EJB 2.1-未指定JNDI名称

宋俊民
2023-03-14

环境- WAS 7.0和EJB 2.1

我有一个耳朵与EJB罐文件。它有一些远程EJB(EJB 2.1),我想转换为本地EJB。因此,我必须按照我的理解修改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 新添加的标记。

我的绑定文件如下 -

<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:adma 0014 e:验证失败。ADMA0007E:将EJB引用映射到企业beans的任务中出现验证错误。< br >没有为带有ejb名称管理器的模块ZZZZZ中的引用绑定ejb/ManagerLocalHome指定Java命名和目录接口(JNDI)名称。

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

共有1个答案

姜鸿
2023-03-14

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

 类似资料:
  • 我对一个问题感到沮丧,我花了几个小时试图解决它!问题是。我试图查找一个已经在我的jboss服务器中声明的主题(MyBestTopic ),但是我有这个异常 在我的java代码中,我试图像这样检索主题: 查看jboss server的启动,我可以看到主题与正确的名称绑定得很好: 最后,当我在jmx控制台上看到jndiView树时,该主题也得到了很好的部署: 相同的java在具有相同部署主题和数据源的

  • EJB 3.0提供了定义数据库实体关系/映射的选项,如一对一,一对多,多对一和多对多关系。 以下是相关注释 - One-to-One - 对象具有一对一的关系。 例如,乘客可以一次使用单张票。 One-to-Many - 对象具有一对多的关系。 例如,父亲可以有多个孩子。 Many-to-One - 对象具有多对一关系。 例如,多个孩子有一个单身母亲。 Many-to-Many - 对象具有多对多

  • JNDI代表Java命名和目录接口。 它是一组API和服务接口。 基于Java的应用程序使用JNDI进行命名和目录服务。 在EJB的上下文中,有两个术语。 Binding - 这是指为EJB对象分配名称,以后可以使用。 Lookup - 这是指查找并获取EJB的对象。 在Jboss中,会话bean默认以以下格式绑定在JNDI中。 local - EJB-name/local remote - EJ

  • 我正在评估Quakus是否可以替代Tomcat环境。我理解我正在尝试做的工作所面临的挑战,但我首先需要验证我现有的遗留JSP应用程序是否可以使用Quarkus工作。我正在使用quarkus。undertow作为我的servlet容器。 到目前为止,我已经克服了几个障碍。我现在遇到的问题是如何使用我的数据源。 目前,我们的数据源在Tomcat的server.xmlGlobalNamingResour

  • 使用WLS 12,我有以下EJB定义: 我也有以下定义:

  • 问题内容: 我们正在编写一个应连接到不同LDAP服务器的应用程序。对于每台服务器,我们仅接受特定证书。该证书中的主机名无关紧要。这很容易,当我们使用LDAP和STARTTLS,因为我们可以用和使用具有匹配。但是,我们还需要支持LDAPS连接。Java本机支持此功能,但前提是默认java密钥库信任服务器证书。尽管可以替换它,但仍不能为不同的服务器使用不同的密钥库。 现有的连接代码如下: 我们可以添加