Dans les versions Liberty antérieures à 20.0.0.12, les composants EJB n'étaient pas liés à un espace de nom JNDI (Java Naming and Directory
Interface) principal de serveur, car ils se trouvent dans WebSphere Application Server Traditional, donc les recherches et les liaisons @EJB dans le fichier ibm-ejb-jar-bnd.xml ou ibm-web-bnd.xml peuvent nécessiter une migration. Si vous utilisez une version Liberty antérieure à 20.0.0.12, ces recherches doivent utiliser la syntaxe JNDI portable pour les composants EJB qui sont hébergés sur le même serveur et des URL
corbaname: pour les composants EJB qui sont hébergés sur un autre serveur.
Seuls les espaces de nom suivants étaient pris en charge dans les versions Liberty antérieures à 20.0.0.12 :
java:global/java:app/java:module/java:comp/corbaname:Cette règle marque @EJB annotations avec un lookup Valeur d'attribut qui ne commence pas par l'un des espaces de nom répertoriés ci-dessus.
//cette recherche sera marquée
@Stateless
@EJB(lookup="ejb/myApp/myModule/MyBeanComponent")
Cette règle marque également les littéraux chaîne qui commencent par "ejblocal:".
//celle-ci sera marquée
new InitialContext().lookup("ejblocal:" + getEJBName());
La règle marque également les noms JNDI qui n'utilisent pas l'un des espaces de nom répertoriés ci-dessus pour la binding-name valeur d'attribut dans le <ejb-ref> dans les fichiers ibm-ejb-jar-bnd.xml et ibm-web-bnd.xml .
< code> // cette liaison ne sera pas marquée < ejb-ref name= "TestBean" binding-name="java:global/TestApp/TestModule/TestBean!test.TestRemoteInterface"> < /code>
La règle marque également les noms JNDI qui n'utilisent pas l'un des espaces de nom répertoriés ci-dessus pour la jndiName valeur d'attribut dans le <ejbRefBindings> dans les fichiers ibm-ejb-jar-bnd.xmi et ibm-web-bnd.xmi .
< code> // ce nom JNDI sera marqué <ejbRefBindings jndiName= "java:myFolder/"> < /code>
Pour plus d'informations sur l'utilisation d'Enterprise Java Beans 2.x dans Liberty, voir Utilisation des beans Enterprise JavaBeans avec des interfaces distantes dans Liberty.