Használjon WebSphere kötéseket az EJB helyi hivatkozási JNDI nevek meghatározásához

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. Automatikus javítást fogunk biztosítani. Miután az automatikus javítás alkalmazása után a WebLogic XML-t egy megjegyzés jelzi, hogy az XML át lett migrálva. Ezt arra használják, hogy meghatározzák, hogy futtassák-e az automted javítást, és ez használható a következő esetekben a migráció végén, hogy jelezze, hogy az XML-fájl mekkora része került migrálásra.

Az automatikus javítás alkalmazásakor a JNDI név a következő lesz másolódik a weblogic-ejb-jar.xml fájlból a <span.xml fájlba WebSphere hagyományos és Liberty EJB-kötési fájlba. A következő példában a MyBean2 a MyBean komponensre mutató hivatkozást határoz meg. Először is, a <ejb-local-ref> a <ejb-local-ref> definíciója a ejb-jar.xml fájlban:

< span class="Code"> < ejb-jar>
< átívelő osztály= "indent2"> < /span> < enterprise-beans>
< átívelő osztály= "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>Stateless</session-type>
<transaction-type>Tároló</transaction-type>
<jndi-name>ejb.MyBean</ejb-name>
...
</session>
< átívelő osztály= "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>Stateless</session-type>
<transaction-type>Tároló</transaction-type>
<ejb-local-ref>
<description></description>
<ejb-ref-name>ejb/MyBean</ejb-ref-name>
<ejb-ref-type>Szekció</ejb-ref-type>
<local-home>com.ibm.ejb.MyBeanHome</local-home>
<local>com.ibm.ejb.MyBean</local>
</ejb-local-ref>
< span: "indent4"> < /span> < span class="indent2"><jndi-name>ejb.MyBean2</ejb-name>
...
</session>
< átívelő osztály= "indent2"> < /span> < 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>
< átívelő osztály= "indent2"> < /span> < weblogic-vállalati bean>
<ejb-name>MyBean</ejb-name>
<jndi-name>ejb.MyBean</jndi-name>
</weblogic-enterprise-bean>
< átívelő osztály= "indent2"> < /span> < weblogic-vállalati 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>

Az automatikus javítás hozzáadja a ejb.MyBean JNDI nevet a kötésfájlhoz és a társítja a ejb/MyBean helyi hivatkozással a MyBean2. 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:

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