In WebLogic- und JBoss-Anwendungen definiert das Element <local-jndi-name> den JNDI-Namen für die lokale Ausgangsposition der Bean in der globalen JNDI-Baumstruktur. Dieses Element wird in der Datei weblogic-ejb-jar.xml oder in der Datei jboss.xml definiert.
WebSphere(R) lässt die Zuordnung lokaler Ausgangspositionen zu JNDI-Namen in der globalen JNDI-Baumstruktur nicht zu. Stattdessen werden diese Ausgangspositionen der JNDI-Baumstruktur des lokalen Containers zugeordnet. Aus diesem Grund müssen Programmierer über eine JNDI-Referenz im lokalen Namespace und nicht über den JNDI-Namen im globalen Namespace auf lokale Enterprise-Beans zugreifen.
Diese Regel wird ausgelöst, wenn ein <local-jndi-name> Element gefunden wird in weblogic-ejb-jar.xml oder in jboss.xml gefunden wird. Die automatische Korrektur verarbeitet Java Dateien, Bereitstellungsdeskriptoren und Bindungen, damit diese referenzen auf WebSphere funktionieren.
Alle Pakete, die sich auf die Anwendung beziehen, in der sich das Element <local-jndi-name> befindet, werden verarbeitet. Wenn Ihr Anwendungs-EAR-Projekt nicht gefunden wird oder dem gefundenen EJB-Projekt nicht zugeordnet ist, wird nur das EJB-Projekt verarbeitet. Es ist von entscheidender Bedeutung, dass die zugehörigen Projekte ordnungsgemäß definiert sind.
Wenn die automatische Korrektur verfügbar ist und angewendet wurde, werden alle Java Dateien in der Anwendung gescannt, in denen der <lokaler-jndi-name> gefunden wird. Es werden direkte Kontext-Lookups des lokalen JNDI-Namens und Lookups der EJB-Referenz auf diesen Namen überprüft.
Wenn der lokale JNDI-Name beispielsweise ejb/myBeanLocalHome , lösen die folgenden Codebeispiele Aktualisierungen für Code, Implementierungsdeskriptoren und/oder Bindungen aus.Der Code Java wird im ersten Beispiel geändert in ctx.lookup("java:comp/ejb/myBeanLocalHome") so dass ein EJB-Referenz-Lookup durchgeführt wird. Die anderen beiden Java-Beispiele bleiben unverändert. In allen drei Fällen werden durch die automatische Korrektur die Bereitstellungsdeskriptoren und Bindungen für das Projekt aktualisiert.
Wenn eine Suche nach dem spezifischen lokalen JNDI-Namen für ein Projekt festgestellt wird und wenn eine Variable verwendet wird und der Lookup nicht ermittelt werden kann, wird die web.xml-Datei oder die ejb-jar.xml-Datei wird so geändert, dass sie ein <ejb-local-ref> für die Bean enthält die den lokalen JNDI-Namen definiert hat. Im Falle eines EJB-Projekts, wird das <ejb-local-ref> Element zu jeder Bean hinzugefügt, die in der ejb-jar.xml. Im Falle der Datei web.xml wird eine Referenz für die Bean hinzugefügt, die die den lokalen JNDI-Namen definiert. In beiden Fällen wird der <ejb-local-ref> JNDI-Name in die Bindungsdatei für das Projekt hinzugefügt.