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 označí lokální odkazy EJB nalezené v souboru weblogic-ejb-jar.xml. Ve zdrojovém skeneru je k dispozici rychlá oprava. Po použití rychlé opravy je WebLogic XML označen komentářem označující, že byl migrován. Používá se k určení toho, zda má být spuštěna rychlá oprava, a lze ji použít na konci migrace k označení, jak velká část souboru XML byla migrována.
Je-li použita rychlá oprava, bude název rozhraní JNDI zkopírován ze souboru weblogic-ejb-jar.xml do vázacího souboru WebSphere traditional a Liberty EJB.
Příklad: Následující příklad zobrazuje MyBean2 definující odkaz na objekt MyBean.
Nejdříve je <ejb-local-ref> definován v souboru ejb-jar.xml:
|
<ejb-jar> <enterprise-beans> <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>Stateless</session-type> <transaction-type>Container</transaction-type> <jndi-name>ejb.MyBean</ejb-name> ... </session> <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>Stateless</session-type> <transaction-type>Container</transaction-type> <ejb-local-ref> <description></description> <ejb-ref-name>ejb/MyBean</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <local-home>com.ibm.ejb.MyBeanHome</local-home> <local>com.ibm.ejb.MyBean</local> </ejb-local-ref> <jndi-name>ejb.MyBean2</ejb-name> ... </session> <enterprise-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> <weblogic-enterprise-bean> <ejb-name>MyBean</ejb-name> <jndi-name>ejb.MyBean</jndi-name> </weblogic-enterprise-bean> <weblogic-enterprise-bean> <ejb-name>MyBean2</ejb-name> <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> |
Rychlá oprava přidá název rozhraní JNDI ejb.MyBean do vázacího souboru a přidruží jej k lokálnímu odkazu ejb/MyBean 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:
|
javax.naming.Context ctx = new javax.naming.InitialContext(); Object beanRef = ctx.lookup("java:comp/env/ejb/MyBean"); |