Dans les applications WebLogic et JBoss, l'élément <local-jndi-name> définit le nom JNDI du répertoire local du bean dans l'arborescence JNDI globale. Cet élément est défini dans le fichier weblogic-ejb-jar.xml ou jboss.xml.
WebSphere ne permet pas de mapper des répertoires locaux à des noms JNDI dans l'arborescence JNDI globale. Au lieu de cela, les répertoires locaux sont mappés dans l'arborescence JNDI du conteneur local. Pour cette raison, le programmeur doit accéder aux beans enterprise locaux au moyen d'une référence de JNDI dans l'espace de nom local et non au moyen du nom JNDI dans l'espace de nom global.
Cette règle est déclenchée lorsqu'un élément <local-jndi-name> est trouvé dans le fichier weblogic-ejb-jar.xml ou dans jboss.xml. Le correctif automatisé traite les fichiers Java, les descripteurs de déploiement et les liaisons pour permettre à ces références de fonctionner sur références de fonctionner sur WebSphere.
Le correctif traite tous les modules d'une application où l'élément <local-jndi-name> est détecté. Si le projet EAR de l'application est introuvable ou n'est pas associé avec le projet EJB détecté, seul le projet EJB est traité. Il est donc important que les projets apparentés soient définis correctement.
Lorsque le correctif automatisé est disponible et a été appliqué, il analyse tous les fichiers Java de l'application où se trouve le fichier <nom-jndi local>. Il analyse notamment les recherches contextuelles directes de nom JNDI local et les recherches des références EJB de ces noms JNDI.
Par exemple, si le nom JNDI local est ejb/myBeanLocalHome , les exemples de code suivants déclenchent des mises à jour du code, des descripteurs de déploiement et des liaisons, ou les deux.Le code Java est remplacé dans le premier exemple par ctx.lookup("java:comp/ejb/myBeanLocalHome") de sorte que une recherche de référence EJB soit effectuée. Les deux autres codes Java ne changent pas. Dans les trois cas, la correction automatisée mettra à jour les descripteurs de déploiement et les bindings pour le projet.
Lorsqu'une recherche de nom JNDI local est détectée pour un projet, qu'une variable est utilisée et que la recherche n'est pas identifiable, le correctif rapide modifie le fichier web.xml ou ejb-jar.xml pour y inclure un élément <ejb-local-ref> correspondant au bean qui définissait le nom JNDI local. Dans le cas d'un projet EJB, l'élément <ejb-local-ref> est ajouté à chaque bean défini dans le fichier ejb-jar.xml. Dans le cas du fichier web.xml, le correctif y ajoute une référence au bean qui définissait le nom JNDI local. Dans les deux cas, le nom JNDI de l'élément <ejb-local-ref> est ajouté dans le fichier de liaison du projet.