O descritor de implementação específico do WebLogic para EJBs,
weblogic-ejb-jar.xml, pode conter nomes JNDI para referências locais EJB definidas em ejb-jar.xml.
Essas referências mapeiam uma referência local EJB para seu nome JNDI.
Para que essas referências funcionem corretamente no WebSphere Application Server,
as informações devem ser movidas para o arquivo de ligações do WebSphere Application Server.
Esta regra sinaliza referências locais EJB localizadas no arquivo weblogic-ejb-jar.xml.
Uma correção automática será fornecida. Depois que a correção automatizada for aplicada, o XML do WebLogic é marcado com um comentário indicando que foi migrado.
Isso é usado para determinar se deve ser executada a correção automatizada e pode ser usado no final da migração para indicar quanto do arquivo XML foi migrado.
Quando a correção automatizada é aplicada, o nome JNDI é copiado do arquivo weblogic-ejb-jar.xml para o arquivo de WebSphere tradicional e Liberty arquivo de ligações de EJB.
Por exemplo, o exemplo a seguir mostra MyBean2 definindo uma referência para MyBean.
Primeiro, o <ejb-local-ref> é definido no arquivo ejb-jar.xml arquivo:
< 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>Sem Estado</session-type>
<transaction-type>Contêiner</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>Sem Estado</session-type>
<transaction-type>Contêiner</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>Sessão</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>
Em seguida, o nome JNDI <ejb-local-ref> correspondente será definido no arquivo weblogic-ejb-jar.xml:
< weblogic-ejb-jar>
< span class= "indent2"> < /span> < weblogic-enterprise-bean>
<ejb-name>MyBean</ejb-name>
<jndi-name>ejb.MyBean</jndi-name>
</weblogic-enterprise-bean>
< span class= "indent2"> < /span> < weblogic-enterprise-bean>
<ejb-name>MyBean2</ejb-name>
< span class= "indent4"> < /span> < ejb-local-reference-description>
<ejb-ref-name>ejb /MyBean</ejb-ref-name>
<jndi-name>ejb.MyBean</jndi-name>
</ejb-local-reference-description>
<jndi-name>ejb.MyBean2</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
A correção automatizada adicionará o nome ejb.MyBean Nome JNDI ao arquivo de associações e associa-o à ejb/MyBean referência local para MyBean2.
Se o arquivo de ligação não existir, um novo será criado.
No código Java, o contexto de nomenclatura pode ser referenciado no seguinte exemplo:
< span class="Code"> < span class= "indent4"> < /span>javax.naming.Context ctx = new javax.naming.InitialContext();
Object beanRef = ctx.lookup("java:comp/env/ejb/MyBean");