환경 - WAS 7.0 및 EJB 2.1Websphere 7 및 EJB 2.1 - JNDI 이름이 지정되지 않았습니다.
EJB JAR 파일이있는 EAR이 있습니다. 로컬 EJB로 변환하려는 일부 원격 EJB (EJB 2.1)가 있습니다. 따라서 나는 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 태그 추가됩니다
내 수정 EJB-JAR XML 파일은 다음과 같습니다. 다음과 같이
그리고 내 바인딩 파일입니다 -
나는 다음과 같은 오류 얻을 EAR 파일의 배포시<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>
-
com.ibm.websphere.management.application.client.AppDeploymentException를 : ADMA0014E : 유효성 검사에 실패했습니다. ADMA0007E : 엔터프라이즈 bean에 EJB 참조를 맵핑하는 태스크에서 유효성 검증 오류가 발생했습니다.
JNDI (Java Naming and Directory Interface) 이름은 EJB 이름이 Manager 인 모듈 ZZZZZ의 참조 바인딩 ejb/ManagerLocalHome에 지정되어 있지 않습니다.
정의 된 JNDI에 대해 불만을 제기하는 이유는 무엇입니까? 내가 빠진 것이 있습니까?