Zmiana zachowania w przypadku wyszukiwania komponentów EJB w poprzednich wersjach serwera Liberty

Na serwerze Liberty w wersjach wcześniejszych niż 20.0.0.12 komponenty EJB nie były powiązane z przestrzenią nazw JNDI (Java Naming and Directory Interface) katalogu głównego serwera (jak ma to miejsce w przypadku serwera WebSphere Application Server traditional), więc wyszukiwania i powiązania @EJB w plikach ibm-ejb-jar-bnd.xml lub ibm-web-bnd.xml mogły wymagać migracji. Jeśli nie jest używana wersja Liberty 20.0.0.12 lub nowsza, te wyszukiwania muszą korzystać z przenośnej składni JNDI w przypadku komponentów EJB, które są udostępniane na tym samym serwerze, i adresów URL corbaname: w przypadku komponentów EJB, które są udostępniane na innym serwerze.

W wersjach Liberty wcześniejszych niż 20.0.0.12 były akceptowane tylko następujące przestrzenie nazw:

Ta reguła oznacza flagą: @EJB adnotacje z lookup wartość atrybutu, która nie rozpoczyna się od żadnej z wymienionych powyżej przestrzeni nazw.


//To wyszukiwanie zostanie oznaczone flagą 
@Stateless
@EJB(lookup="ejb/myApp/myModule/MyBeanComponent")

Ponadto ta reguła oznacza także literały łańcuchowe rozpoczynające się od elementu „ejblocal:”.


//To zostanie oznaczone flagą
new InitialContext().lookup("ejblocal:" + getEJBName());

Ta reguła oznacza również nazwy JNDI, które nie używają jednej z wymienionych powyżej przestrzeni nazw binding-name wartość atrybutu w <ejb-ref> w plikach ibm-ejb-jar-bnd.xml i ibm-web-bnd.xml .

< code> // to powiązanie nie zostanie oznaczone jako < ejb-ref name= "TestBean" binding-name="java:global/TestApp/TestModule/TestBean!test.TestRemoteInterface"> < /code>

Ta reguła oznacza również nazwy JNDI, które nie używają jednej z wymienionych powyżej przestrzeni nazw jndiName wartość atrybutu w <ejbRefBindings> w plikach ibm-ejb-jar-bnd.xmi i ibm-web-bnd.xmi .

< code> // ta nazwa JNDI zostanie oznaczona jako <ejbRefBindings jndiName= "java:myFolder/"> < /code>

Więcej informacji o używaniu komponentów Enterprise Java Beans 2.x na serwerze Liberty zawiera temat Używanie komponentów EJB z interfejsami zdalnymi na serwerze Liberty.