Jakarta EE 9 – informacje ogólne i potencjalne problemy

Ta reguła zawiera ogólne informacje dotyczące migracji do środowiska Jakarta EE 9, a także informacje na temat problemów, które nie są wykrywane przez program WebSphere Migration Toolkit for Application Binaries (skaner binarny).

Jakarta: Zmieniono przestrzenie nazw pakietów

Ze względu na zmianę przestrzeni nazw pakietu w środowisku Jakarta EE 9, upewnij się, że wszystkie zależności i biblioteki używane przez aplikację zostały zaktualizowane do wersji, które obsługują środowisko Jakarta EE 9.

Funkcje Liberty: Zmieniono nazwy funkcji

W Liberty zmieniono nazwy kilku funkcji między wersjami Jakarta EE 8 a Jakarta EE 9. Na przykład jaxrs ma teraz nazwę restfulws Pełną listę funkcji, których nazwy zostały zmienione, można znaleźć w sekcji Aktualizacje składników Jakarta EE 9.1. Lista funkcji tworzona przez skaner binarny będzie zawierać zaktualizowane nazwy składników.

Funkcje Liberty: Technologie nie są już włączone przez funkcje platformy

Funkcja platformy jakartaee-9.1 nie umożliwia obsługi kilku technologii, które zostały wcześniej włączone przez funkcje platformy, takie jak jakartaee-8.0 lub javaee-7.0 Funkcje jaxws (teraz xmlws) i jaxb (teraz xmlbinding) nie są już włączone przez funkcję platformy. Jeśli korzystasz z opcji platformy, a aplikacja korzysta z tych technologii, dodaj funkcje do pliku server.xml. Alternatywnie można użyć listy funkcji, która jest tworzona przez skaner binarny.

Serwlet: Zmieniono wartość domyślną właściwości enablePostOnlyJSecurityCheck

Domyślne zachowanie właściwości serwletu com.ibm.ws.webcontainer.enablePostOnlyJSecurityCheck zostało zmienione z wartości false na true w Jakarta EE 9. Jeśli aplikacja korzysta z funkcji j_security_check w plikach HTML lub JSP, przetestuj, czy ta zmiana wpłynie na Twoją aplikację.

Serwlet: Strumień wyjściowy odpowiedzi jest teraz zamykany automatycznie

Gdy aplikacja opakowuje obiekt odpowiedzi i korzysta z niego w trakcie przekazywania, zanim strumień wyjściowy odpowiedzi Jakarta EE 9 nie został zamknięty przed wyjściem z przekazywania. To zamknięcie jest wymagane przez specyfikację serwletu. Gdy aplikacja będzie kontynuować zapisywanie po zakończeniu przesyłania, w odpowiedzi zostaną zapisane dodatkowe dane. W Jakarta EE 9 to zachowanie zostało zmienione, więc strumień wyjściowy jest teraz zamknięty. Właściwość closeWrappedResponseOutputAfterForward dla webcontainer została dodana w celu przełączenia tego zachowania. Ustaw właściwość na wartość false, jeśli poprzednie zachowanie jest wymagane przez aplikację.

Komponenty EJB: Rozproszone współdziałanie zostało usunięte ze specyfikacji

W Jakarta EE 9 rozproszone współdziałanie zostało usunięte ze specyfikacji komponentów Enterprise Beans. Liberty nadal obsługuje RMI przez IIOP, ale należy pamiętać, że ze względu na zmianę nazwy pakietu serwer zdalny musi również korzystać z Jakarta EE 9. Podczas gdy Liberty nadal obsługuje rozproszone współdziałanie w Jakarta EE 9, inni dostawcy serwerów mogą usunąć obsługę.