Le descripteur de déploiement spécifique à JBoss pour les EJB, jboss.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 migrer vers le fichier de liaison de WebSphere Application Server.
Cette règle signale les références locales EJB trouvées dans le fichier jboss.xml, lorsque le correctif automatisé est disponible, le fichier JBoss XML est marqué d'un commentaire indiquant qu'il a été migré.
Il est utilisé pour déterminer s'il faut exécuter la correction automatisée, 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 la part du fichier XML qui a été migrée.
Lorsque le correctif automatisé sera disponible, le nom JNDI sera copié du fichier <span.xml vers le fichier JNDI copié du fichier jboss.xml vers le fichier de liaisons WebSphere 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 jboss.xml :
< jboss>
< span class= "indent2"> < /span> < enterprise-beans>
< span class= "indent4"> < /span> < session>
<ejb-name>MyBean</ejb-name>
<jndi-name>ejb.MyBean</jndi-name>
</session>
< span class= "indent4"> < /span> < session>
<ejb-name>MyBean2</ejb-name>
<jndi-name>ejb.MyBean2</jndi-name>
< span class= "indent4"> < /span> < span class="indent2"> < /span> < ejb-local-ref>
<ejb-ref-name>ejb /MyBean</ejb-ref-name>
< span class= "indent4"> < /span> < span class="indent4"> < /span> < local-jndi-name>ejb.MyBean< /jndi-name>
</ejb-local-ref>
</session>
</enterprise-beans>
</jboss>
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");