In den Liberty-Versionen vor 20.0.0.12 wurden EJB-Komponenten nicht wie in WebSphere Application Server Traditional an den JNDI-Namespace (Java Naming and Directory
Interface (JNDI) des Serverstammverzeichnisses gebunden. Deshalb mussten @EJB-Suchen und -Bindungen in der Datei ibm-ejb-jar-bnd.xml oder
ibm-web-bnd.xml möglicherweise migriert werden. Wenn Liberty 20.0.0.12 oder höher nicht verwendet wird, müssen diese Suchen
die portierbare JNDI-Syntax für EJB-Komponenten, die sich auf demselben Server befinden,
und corbaname:-URLs für EJB-Komonenten, die sich auf einem anderen Server befinden, verwenden.
Vor Liberty Version 20.0.0.12 wurden nur die folgenden Namespaces akzeptiert:
java:global/java:app/java:module/java:comp/corbaname:Diese Regel markiert Folgendes: @EJB Anmerkungen mit einem lookup Attributwert, der nicht mit einem der oben aufgelisteten Namensbereiche beginnt.
//Diese Suche wird markiert
@Stateless
@EJB(lookup="ejb/myApp/myModule/MyBeanComponent")
Diese Regel markiert auch Zeichenfolgeliterale, die mit "ejblocal:" beginnen.
//Dies wird markiert als
neuer InitialContext().lookup("ejblocal:" + getEJBName());
Die Regel markiert auch JNDI-Namen, die keinen der oben aufgeführten Namensbereiche für die binding-name Attributwert in der <ejb-ref> in den Dateien ibm-ejb-jar-bnd.xml und ibm-web-bnd.xml .
< code> // Diese Bindung wird nicht markiert < ejb-ref name= "TestBean" binding-name="java:global/TestApp/TestModule/TestBean!test.TestRemoteInterface"> < /code>
Die Regel markiert auch JNDI-Namen, die keinen der oben aufgeführten Namensbereiche für die jndiName Attributwert in der <ejbRefBindings> in den Dateien ibm-ejb-jar-bnd.xmi und ibm-web-bnd.xmi .
< code> // Dieser JNDI-Name wird markiert <ejbRef-Bindungen jndiName= "java:myFolder/"> < /code>
Weitere Informationen zur Verwendung von Enterprise Java Beans 2.x in Liberty finden Sie unter Enterprise JavaBeans mit fernen Schnittstellen in Liberty verwenden.