Použít vazby WebSphere k definování názvů rozhraní JNDI lokálního odkazu EJB

Deskriptor implementace specifický pro WebLogic pro objekty EJB, weblogic-ejb-jar.xml, může obsahovat názvy rozhraní JNDI pro lokální odkazy EJB definované v souboru ejb-jar.xml. Tyto odkazy mapují lokální odkaz EJB na příslušný název rozhraní JNDI. Aby odkazy pracovaly správně na serveru WebSphere Application Server, musí být informace přesunuty do vázacího souboru aplikačního serveru WebSphere Application Server.

Toto pravidlo značí lokální odkazy EJB nalezené v souboru weblogic-ejb-jar.xml. Bude poskytnuta automatická oprava. Po automatické opravě je WebLogic XML je označen komentářem, že byl migrován. Používá se k určení, zda má být spuštěna automatizovaná oprava, a lze ji použít při na konci migrace k určení, jak velká část souboru XML byla migrována.

Při použití automatické opravy je název JNDI zkopírován ze souboru weblogic-ejb-jar.xml do souboru WebSphere tradiční a Liberty soubor vazeb EJB. Příklad: Následující příklad zobrazuje MyBean2 definující odkaz na objekt MyBean. Nejprve je definován <ejb-local-ref> ejb-jar.xml souboru:

< span class="Code"> < ejb-jar>
< span class= "indent2"> < /span> < podnikové-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>Bez stavu</session-type>
<transaction-type>Kontejner</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>Bez stavu</session-type>
<transaction-type>Kontejner</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>Relace</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> < podnikové-beans>
< ejb-jar>

Potom je odpovídající název rozhraní JNDI <ejb-local-ref> definován v souboru 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> < popis-lokálního-odkazu-odkazu>
<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>

Automatická oprava přidá ejb.MyBean JNDI do souboru s vazbami a přiřadí k souboru ejb/MyBean místní odkaz pro MyBean2. Pokud vázací soubor neexistuje, bude vytvořen.

V rámci kódu Java lze na kontext pojmenování odkazovat jako v následujícím příkladu:

< span class="Code"> < span class= "indent4"> < /span>javax.naming.Context ctx = new javax.naming.InitialContext();
Object beanRef = ctx.lookup("java:comp/env/ejb/MyBean");