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. Hay un arreglo rápido disponible en el explorador de orígenes. Después de aplicar el arreglo rápido, el XML de WebLogic se marca con un comentario para indicar que se ha migrado. Éste se utiliza para determinar si se debe ejecutar el arreglo rápido y se puede utilizar al final de la migración para indicar qué parte del archivo XML se ha migrado.
Cuando se aplica el arreglo rápido, el nombre JNDI se copia desde el archivo
weblogic-ejb-jar.xml al archivo de enlaces EJB de WebSphere
tradicional y Liberty.
Considere
el ejemplo siguiente en el que MyBean2 define una referencia a MyBean.
En primer lugar, se define <ejb-local-ref> en el archivo ejb-jar.xml:
|
<ejb-jar> <enterprise-beans> <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>Stateless</session-type> <transaction-type>Container</transaction-type> <jndi-name>ejb.MyBean</ejb-name> ... </session> <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>Stateless</session-type> <transaction-type>Container</transaction-type> <ejb-local-ref> <description></description> <ejb-ref-name>ejb/MyBean</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <local-home>com.ibm.ejb.MyBeanHome</local-home> <local>com.ibm.ejb.MyBean</local> </ejb-local-ref> <jndi-name>ejb.MyBean2</ejb-name> ... </session> <enterprise-beans> <ejb-jar> |
A continuación, se define el nombre JNDI correspondiente de
<ejb-local-ref> en el archivo weblogic-ejb-jar.xml:
|
<weblogic-ejb-jar> <weblogic-enterprise-bean> <ejb-name>MyBean</ejb-name> <jndi-name>ejb.MyBean</jndi-name> </weblogic-enterprise-bean> <weblogic-enterprise-bean> <ejb-name>MyBean2</ejb-name> <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> |
El arreglo rápido añade el nombre JNDI ejb.MyBean al archivo de enlaces
y lo asocia a la referencia local ejb/MyBean 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:
|
javax.naming.Context ctx = new javax.naming.InitialContext(); Object beanRef = ctx.lookup("java:comp/env/ejb/MyBean"); |