2017-09-20 2 views
0

환경 - 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에 대해 불만을 제기하는 이유는 무엇입니까? 내가 빠진 것이 있습니까?

답변

0

바인딩 파일에서 jndiName이 jndiName = "ejb/Manager"여야합니다. 그러면 나를 위해 작동하기 시작했습니다. rmic rmic를 실행해야했지만 조회가 현재 작동 중입니다.

관련 문제