Viselkedés megváltozása Enterprise JavaBeans komponensek kikeresésekor a Liberty korábbi változataiban

A Liberty 20.0.0.12 előtti változataiban az EJB komponensek nincsenek kiszolgáló gyökér Java Naming and Directory Interface (JNDI) névteréhez kötve, ahogyan a hagyományos WebSphere Application Server kiszolgálón, így a @EJB kikeresések és összerendelések ibm-ejb-jar-bnd.xml vagy ibm-web-bnd.xml fájljai költöztetést igényelhetnek. Liberty 20.0.0.12 vagy újabb használata esetén ezeknek a kikereséseknek hordozható JNDI szintaxist kell használniuk azokhoz az EJB komponensekhez, amelyek gazdagépe ugyanaz a kiszolgáló, és corbaname: URL címeket az olyan EJB komponensek esetében, amelyek gazdagépe másik kiszolgáló.

A Liberty 20.0.0.12 előtti változataiban csak a következő névterek kerültek elfogadásra:

Ez a szabály a @EJB annotációkat olyan lookup jellemzőértékkel jelzi, ami nem a fent felsorolt névterek egyikével kezdődik.


//this lookup will be flagged
@Stateless
@EJB(lookup="ejb/myApp/myModule/MyBeanComponent")

A szabály az "ejblocal:" kifejezéssel kezdődő karaktersorozat literálokat ismegjelöli.


//this will be flagged
new InitialContext().lookup("ejblocal:" + getEJBName());

A szabály olyan JNDI neveket is megjelöl, amelyek nem a fent felsorolt névterek valamelyikét használják a binding-name attribútumhoz a(z) <ejb-ref> elem értéke az ibm-ejb-jar-bnd.xml és ibm-web-bnd.xml fájlban.


//this binding will not be flagged
<ejb-ref name="TestBean" binding-name="java:global/TestApp/TestModule/TestBean!test.TestRemoteInterface">

A szabály olyan JNDI neveket is megjelöl, amelyek nem a fent felsorolt névterek valamelyikét használják a JNDIname attribútumhoz a(z) <ejbRefBindings> elem értéke az ibm-ejb-jar-bnd.xmi és ibm-web-bnd.xmi fájlban.


//this JNDI name will be flagged
<ejbRefBindings jndiName="java:myFolder/">

Az Enterprise Java Beans 2.x használatáról Liberty rendszerben a következő helyen talál további információkat: Enterprise JavaBeans használata távoli felületekkel Liberty kiszolgálón.