Az EJB-komponensek WebLogic rendszerre jellemző telepítésleírója (weblogic-ejb-jar.xml) tartalmazhatja olyan EJB helyi hivatkozások JNDI neveit, amelyek az ejb-jar.xml fájlban vannak meghatározva. Ezek a hivatkozások JNDI nevükre képezik le az EJB helyi hivatkozásokat. A hivatkozások WebSphere alkalmazáskiszolgálón való megfelelő működéséhez az információkat át kell helyezni a WebSphere alkalmazáskiszolgálóhoz tartozó kötésfájlba.
Ez a szabály a weblogic-ejb-jar.xml fájlban található EJB helyi hivatkozásokat jelzi. A forráselemzőben rendelkezésre áll egy gyorsjavítás. A gyorsjavítás alkalmazását követően a rendszer az átállítás megtörténtét jelző megjegyzéssel látja el a WebLogic XML fájlt. Ennek célja, hogy segítségével megállapítható legyen a gyorsjavítás futtatásának szükségessége, illetve az átállítás végén annak jelzésére is használható, hogy az XML fájl milyen mértékben került átállításra.
A gyorsjavítás alkalmazásakor a JNDI név átmásolásra kerül a
weblogic-ejb-jar.xml fájlból a hagyományos
WebSphere és Liberty EJB kötésfájlba.
A következő példában a MyBean2 a MyBean komponensre mutató
hivatkozást határoz meg.
Először az <ejb-local-ref> kerül
meghatározásra az ejb-jar.xml fájlban:
|
<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> |
Ezután kerül meghatározásra a megfelelő <ejb-local-ref> JNDI
név a weblogic-ejb-jar.xml fájlban:
|
<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> |
A gyorsjavítás hozzáadja az ejb.MyBean JNDI nevet a kötésfájlhoz
és társítja azt a MyBean2 ejb/MyBean helyi
hivatkozásával.
Amennyiben a kötésfájl nem létezik, úgy a rendszer létrehozza azt.
A Java kódon belül az elnevezési kontextusra a következő példában bemutatott módon lehet hivatkozni:
|
javax.naming.Context ctx = new javax.naming.InitialContext(); Object beanRef = ctx.lookup("java:comp/env/ejb/MyBean"); |