Změna chování při vyhledávání objektů Enterprise JavaBeans v předchozích verzích produktu Liberty

Ve verzích Liberty před 20.0.0.12 nebyly komponenty EJB svázány na obor názvů Java Naming and Directory Interface (JNDI) kořenového adresáře serveru, protože jsou v produktu WebSphere Application Server Traditional, takže vyhledání @EJB a vazby v souborech ibm-ejb-jar-bnd.xml nebo ibm-web-bnd.xml mohou vyžadovat migraci. Nepoužíváte-li produkt Liberty 20.0.0.12 nebo novější, musí tato vyhledávání používat přenositelnou syntaxi rozhraní JNDI pro komponenty EJB, které jsou hostovány v rámci stejného serveru, a adresy URL corbaname: pro komponenty EJB, které jsou hostovány na jiném serveru.

Před verzí Liberty 20.0.0.12 byly přijaty pouze následující obory názvů:

Toto pravidlo značí anotace @EJB s hodnotou atributu lookup, která nezačíná jedním z oborů názvů uvedených výše.


//vyhledání bude označeno
@Stateless
@EJB(lookup="ejb/myApp/myModule/MyBeanComponent")

Toto pravidlo také označí příznakem řetězcové literály začínající řetězcem „ejblocal:“.


//bude označeno
new InitialContext().lookup("ejblocal:" + getEJBName());

Pravidlo také označí názvy JNDI nepoužívající jeden z výše uvedených oborů názvů pro hodnotu atributu binding-name v prvku <ejb-ref> v souborech ibm-ejb-jar-bnd.xml a ibm-web-bnd.xml.


//tato vazba nebude označena
<ejb-ref name="TestBean" binding-name="java:global/TestApp/TestModule/TestBean!test.TestRemoteInterface">

Pravidlo také označí názvy JNDI nepoužívají jeden z výše uvedených oborů názvů pro hodnotu atributu jndiName v prvku <ejbRefBindings> v souborech ibm-ejb-jar-bnd.xmi a ibm-web-bnd.xmi.


//tento název rozhraní JNDI bude označen
<ejbRefBindings jndiName="java:myFolder/">

Podrobnější informace o používání objektů Enterprise Java Beans 2.x na serveru Liberty viz Použití objektů enterprise JavaBeans se vzdálenými rozhraními na serveru Liberty.