Il descrittore di distribuzione della specifica del descrittore di distribuzione JBoss per EJB, jboss.xml, potrebbe contenere nomi JNDI per i riferimenti locali EJB definito in ejb-jar.xml.
Tali riferimenti associano un riferimento locale EJB al relativo nome JDNI.
Perché questi riferimenti funzionino correttamente in WebSphere(R) Application Server, le informazioni devono essere spostate nei file di bind di WebSphere Application Server.
Questa regola segnala i riferimenti locali agli EJB trovati nel file jboss.xml nel file, quando la correzione automatica diventa disponibile, l'XML JBoss viene contrassegnato con un commento che indica che è stato migrato.
Viene utilizzato per determinare se eseguire la correzione automatica e può essere utilizzato al termine della migrazione per indicare la quantità di file XML migrati alla fine della migrazione per indicare quanta parte del file XML è stata migrata.
Quando la correzione automatica sarà disponibile, il nome JNDI verrà copiato dal file jboss.xml al file dei binding EJB WebSphere EJB.
Il seguente esempio mostra MyBean2 che definisce un riferimento a MyBean.
Innanzitutto, il <ejb-local-ref> è definito nel file 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>Senza stato</session-type>
<transaction-type>Contenitore</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>Senza stato</session-type>
<transaction-type>Contenitore</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>Sessione</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>
< jar-ejb>
Quindi, nel file jboss.xml, viene definito il nome JNDI <ejb-local-ref> corrispondente:
< 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>
La correzione automatica aggiungerà il nome ejb.MyBean Nome JNDI al file dei vincoli e lo lo associa al riferimento ejb/MyBean al riferimento locale per MyBean2.
Se il file di bind non esiste, viene creato.
Nel codice Java, è possibile fare riferimento al contesto di denominazione come nel seguente esempio:
< span class="Code"> < span class= "indent4"> < /span>javax.naming.Context ctx = new javax.naming.InitialContext();
Object beanRef = ctx.lookup("java:comp/env/ejb/MyBean");