Le descripteur de déploiement spécifique à WebLogic pour les EJB,
weblogic-ejb-jar.xml, peut contenir des noms JNDI pour les références locales EJB définies dans ejb-jar.xml.
Ces références associent une référence locale EJB à son nom JNDI.
Pour que ces références fonctionnent correctement dans WebSphere Application Server,
leurs données doivent être transférées dans le
fichier de liaison de WebSphere Application Server.
Cette règle marque les références locales EJB trouvées dans le fichier
weblogic-ejb-jar.xml.
Un correctif automatisé sera fourni. Après l'application de la correction automatisée appliqué, le XML WebLogic est marqué d'un commentaire indiquant qu'il a été migré.
Il est utilisé pour déterminer s'il faut exécuter le correctif automatisé, et il peut être utilisé à la fin de la migration pour indiquer la quantité de fichier XML qui a été migrée à la fin de la migration pour indiquer quelle partie du fichier XML a été migrée.
Lorsque le correctif automatisé est appliqué, le nom JNDI est copié du fichier <span.xml vers le fichier JNDI copié du fichier weblogic-ejb-jar.xml vers le fichier de liaisons WebSphere traditionnel et Liberty EJB bindings file.
Dans l'exemple suivant, MyBean2 définit une référence à MyBean.
Tout d'abord, le <ejb-local-ref> est défini dans le fichier ejb-jar.xml :
< 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>Sans état</session-type>
<transaction-type>Conteneur</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>Sans état</session-type>
<transaction-type>Conteneur</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>Session</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>
Ensuite, le nom JNDI <ejb-local-ref> correspondant est défini dans le fichier 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>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>
Le correctif automatisé ajoutera le nom ejb.MyBean JNDI au fichier bindings et l'associe au nom de l'utilisateur l'associe à la ejb/MyBean référence locale pour MyBean2.
S'il n'existe pas de fichier de liaison, le système en crée un.
Dans le code Java, le contexte d'affectation de nom peut être référencé comme dans l'exemple suivant :
< span class="Code"> < span class= "indent4"> < /span>javax.naming.Context ctx = new javax.naming.InitialContext() ;
Object beanRef = ctx.lookup("java:comp/env/ejb/MyBean");