El descriptor de despliegue de WebLogic para los EJB, weblogic-ejb-jar.xml, puede contener nombres JNDI para las
referencias locales de EJB definidas en ejb-jar.xml.
Estas
referencias correlacionan una referencia local de EJB con su nombre JNDI.
Para que estas referencias funcionen correctamente en WebSphere Application Server,
se debe pasar información al archivo de enlaces de WebSphere
Application Server.
Esta regla marca las referencias locales de EJB encontradas en el archivo weblogic-ejb-jar.xml.
Se proporcionará una solución automática. Una vez aplicada la corrección se aplica, el XML de WebLogic se marca con un comentario que indica que se ha migrado.
Se utiliza para determinar si se debe ejecutar la corrección automática, y se puede utilizar al final de la migración para indicar qué parte del archivo XML se ha migrado al final de la migración para indicar qué parte del archivo XML se ha migrado.
Cuando se aplica la corrección automatizada, el nombre JNDI se copiado del archivo weblogic-ejb-jar.xml al archivo de WebSphere tradicional y Liberty archivo de enlaces EJB.
Considere
el ejemplo siguiente en el que MyBean2 define una referencia a MyBean.
En primer lugar, el <ejb-local-ref> se define el ejb-jar.xml archivo:
< span class="Code"> < ejb-jar>
< span class= "indent2"> < /span> < enterprise-beans>
< span class= "indent4"> < /span> < sesión>
<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>Sin estado</session-type>
<transaction-type>Contenedor</transaction-type>
< span class= "indent4"> < /span> < span class="indent2"> < /span> < nombre_jndi>ejb.MyBean< /ejb-name>
...
</session>
< span class= "indent4"> < /span> < sesión>
<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>Sin estado</session-type>
<transaction-type>Contenedor</transaction-type>
< span class= "indent4"> < /span> < span class="indent2"> < /span> < ejb-local-ref>
<description></description>
<ejb-ref-name>ejb/MyBean</ejb-ref-name>
<ejb-ref-type>Sesión</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>
A continuación, se define el nombre JNDI correspondiente de
<ejb-local-ref> en el archivo weblogic-ejb-jar.xml:
< jar_ejb-weblogic >
< 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>ejb/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>
La corrección automática añadirá el nombre ejb.MyBean Nombre JNDI al archivo bindings y lo lo asociará con la ejb/MyBean referencia local para MyBean2.
Si el archivo de enlace no existe, se crea uno.
Dentro del código Java, se puede referenciar el contexto de denominación como se
muestra en el ejemplo siguiente:
< span class="Code"> < span class= "indent4"> < /span>javax.naming.Context ctx = new javax.naming.InitialContext();
Object beanRef = ctx.lookup("java:comp/env/ejb/MyBean");