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 adnotacje @EJB z wartością atrybutu lookup, która nie rozpoczyna się od żadnej z przestrzeni nazw wymienionych powyżej.


//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());

Reguła powoduje również oznaczenie flagą nazw JNDI, które nie korzystają z jednej z wymienionych powyżej przestrzeni nazw dla wartości atrybutu binding-name w elemencie <ejb-ref> w plikach ibm-ejb-jar-bnd.xml i ibm-web-bnd.xml.


//To powiązanie nie będzie oznaczane flagą
<ejb-ref name="TestBean" binding-name="java:global/TestApp/TestModule/TestBean!test.TestRemoteInterface">

Reguła powoduje również oznaczenie nazw JNDI, które nie korzystają z jednej z przestrzeni nazw wymienionych powyżej dla wartości atrybutu jndiName w elemencie <ejbRefBindings> w plikach ibm-ejb-jar-bnd.xmi i ibm-web-bnd.xmi.


//Ta nazwa JNDI zostanie oznaczona flagą
<ejbRefBindings jndiName="java:myFolder/">

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.