Nelle applicazioni WebLogic e JBoss, l'elemento <local-jndi-name> definisce il nome JNDI per la home locale del bean nella struttura ad albero JNDI globale. Viene definito nel file weblogic-ejb-jar.xml o jboss.xml.
WebSphere(R) non consente l'associazione di home locali ai nomi JNDI nella struttura JNDI globale. Al contrario vengono associati nella struttura JNDI del contenitore locale. Per tale motivo, i programmatori devono accedere ai bean enterprise locali utilizzando un riferimento JNDI nello spazio dei nomi locale e non il nome JNDI nello spazio dei nomi globale.
Questa regola viene attivata quando viene trovato un elemento <local-jndi-name> in weblogic-ejb-jar.xml o in jboss.xml. È disponibile una correzione rapida nello scanner di origine. La correzione rapida elabora i file Java, i descrittori di distribuzione ed i bind per consentire a questi riferimenti di funzionare in WebSphere.
Vengono elaborati tutti i package correlati all'applicazione in cui viene trovato l'elemento <local-jndi-name>. Se il progetto EAR dell'applicazione non si trova o non è associato al progetto EJB trovato, verrà elaborato solo il progetto EJB. È importante che i progetti correlati siano definiti correttamente.
Quando si esegue la correzione rapida nello scanner di origine, questa effettua la scansione di tutti i file Java nell'applicazione in cui è stato trovato <local-jndi-name>. Effettua scansioni per le ricerche di contesto diretto al nome JNDI locale, e anche per le ricerche del riferimento EJB a tale nome.
Ad esempio, se il nome JNDI locale è ejb/myBeanLocalHome, i seguenti esempi di codice attivano gli aggiornamenti al codice, i descrittori di distribuzione ed i bind o entrambi.|
ctx.lookup("ejb/myBeanLocalHome"); ctx.lookup("java:comp/ejb/myBeanLocalHome"); ctx.lookup(myBeanLocalHomeNameVariable); |
Il codice Java viene modificato nel primo esempio in ctx.lookup("java:comp/ejb/myBeanLocalHome") in modo da effettuare una ricerca del riferimento EJB. Gli altri due esempi Java restano invariati. In tutti e tre i casi, la correzione rapida aggiorna i descrittori di distribuzione ed i bind per il progetto.
Quando per un progetto viene rilevata una ricerca del nome JNDI locale specifico e quando viene utilizzata una variabile e la ricerca non può essere determinata, il file web.xml o il file ejb-jar.xml viene modificato in modo da includere un <ejb-local-ref> per il bean che definisce il nome JNDI locale. Nel caso di un progetto EJB, l'elemento <ejb-local-ref> viene aggiunto ad ogni bean definito in ejb-jar.xml. Nel caso del file web.xml, viene aggiunto un riferimento per il bean che ha definito il nome JNDI locale. Per entrambi, viene aggiunto il nome JNDI <ejb-local-ref> al file di bind del progetto.