Descriptorul de implementare specific WebLogic pentru EJB-uri,
weblogic-ejb-jar.xml, poate conţine nume
JNDI pentru referinţele locale EJB definite în ejb-jar.xml.
Aceste referinţe mapează o referinţă locală EJB la numele său JNDI.
Pentru ca aceste referinţe să funcţioneze corect pe WebSphere Application Server,
informaţiile trebuie să fie mutate în fişierul de legări WebSphere Application Server.
Această regulă semnalează referinţele locale EJB găsite în fişierul weblogic-ejb-jar.xml.
Va fi furnizată o soluție automată. După aplicarea remedierii automate aplicată, XML-ul WebLogic este marcat cu un comentariu care indică faptul că a fost migrat.
Acesta este utilizat pentru a determina dacă se execută sau nu remedierea automată și poate fi utilizat la la sfârșitul migrării pentru a indica cât de mult din fișierul XML a fost migrat.
Atunci când se aplică remedierea automată, numele JNDI este copiat din fișierul weblogic-ejb-jar.xml în fișierul WebSphere tradițional și Liberty EJB bindings.
De exemplu, în următorul exemplu se arată cum MyBean2 defineşte o referinţă la
MyBean.
În primul rând, <ejb-local-ref> este definit fișierul ejb-jar.xml fișier:
< span class="Code"> < ejb-jar>
< span class= "indent2" > < /span> < enterprise-beans>
< span class= "indent4" > < /span> < session>
<display-name>MyBean</display-name>
<ejb-name>MyBean</ejb-name>
<home>com.ibm.ejb.MyBeanHome</home>
<remote>com.ibm.ejb.MyBean</remote>
<ejb-class>com.ibm.ejb.MyBeanBean</ejb-class>
<session-type>Apatrid</session-type>
<transaction-type>Container</transaction-type>
< span class= "indent4" > < /span> < span class= "indent2" > < /span> < jndi-name>ejb.MyBean< /ejb-name>
...
</session>
< span class= "indent4" > < /span> < session>
<display-name>MyBean2</display-name>
<ejb-name>MyBean2</ejb-name>
<home>com.ibm.ejb.MyBean2Home</home>
<remote>com.ibm.ejb.MyBean2</remote>
<ejb-class>com.ibm.ejb.MyBean2Bean</ejb-class>
<session-type>Apatrid</session-type>
<transaction-type>Container</transaction-type>
< span class= "indent4" > < /span> < span class= "indent2" > < /span> < ejb-local-ref>
<description></description>
<ejb-ref-name>MyBean</ejb-ref-name>
<ejb-ref-type>Sesiune</ejb-ref-type>
<local-home>com.ibm.ejb.MyBeanHome</local-home>
<local>com.ibm.ejb.MyBean</local>
</ejb-local-ref>
< span class= "indent4" > < /span> < span class= "indent2"><jndi-name>ejb.MyBean2</ejb-name>
...
</session>
< span class= "indent2" > < /span> < enterprise-beans>
< ejb-jar>
Apoi, numele JNDI <ejb-local-ref> corespondent este definit în fişierul
weblogic-ejb-jar.xml:
< weblogic-ejb-jar>
< span class= "indent2" > < /span> < weblogic-enterprise-bean>
<ejb-name>MyBean</ejb-name>
<jndi-name>ejb.MyBean</jndi-name>
</weblogic-enterprise-bean>
< span class= "indent2" > < /span> < weblogic-enterprise-bean>
<ejb-name>MyBean2</ejb-name>
< span class= "indent4" > < /span> < ejb-local-reference-description>
<ejb-ref-name>MyBean</ejb-ref-name>
<jndi-name>ejb.MyBean</jndi-name>
</ejb-local-reference-description>
<jndi-name>ejb.MyBean2</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
Soluția automată va adăuga numele ejb.MyBean Numele JNDI la fișierul bindings și îl asociază cu ejb/MyBean referință locală pentru MyBean2.
Dacă fişierul de legări nu există, el este creat.
În codul Java, contextul de numire poate fi referit ca în următorul exemplu:
< span class="Code"> < span class= "indent4" > < /span>javax.naming.Context ctx = new javax.naming.InitialContext();
Object beanRef = ctx.lookup("java:comp/env/ejb/MyBean");