Jakarta EE 9 - Informations générales et problèmes potentiels

Cette règle contient des informations générales pour la migration vers Jakarta EE 9, ainsi que des informations sur les problèmes que le WebSphere Migration Toolkit for Application Binaries (analyseur binaire) ne détecte pas.

Jakarta : espaces de noms de package modifiés

En raison du changement de l'espace de noms de package dans Jakarta EE 9, assurez-vous que toutes les dépendances et les bibliothèques utilisées par l'application aient été passées à une version qui prend en charge Jakarta EE 9.

Fonctions Liberty : noms de fonction modifiés

Dans Liberty, plusieurs fonctions ont été renommées entre Jakarta EE 8 et Jakarta EE 9. Par exemple, la fonction jaxrs est désormais restfulws . Pour la liste complète des fonctions renommées, voir Mises à jour des fonctions dans Jakarta EE 9.1. La liste de fonctions générée par l'analyseur binaire contiendra les noms de fonction mis à jour.

Fonctions Liberty : des technologies ne sont plus permises par les fonctions de plateforme

La fonction de plateforme jakartaee-9.1 n'active pas différentes technologies qui étaient activées auparavant par les fonctions de plateforme, telles que jakartaee-8.0 ou javaee-7.0 . Les fonctions jaxws , désormais xmlws , et jaxb , désormais xmlbinding , ne sont plus activées par la fonction de plateforme. Si vous utilisez la fonction de plateforme et que votre application utilise ces technologies, ajoutez les fonctions à votre fichier server.xml. Vous pouvez également utiliser la liste de fonctions générée par l'analyseur binaire.

Servlet : la valeur par défaut de la propriété enablePostOnlyJSecurityCheck modifiée

Le comportement par défaut de la propriété de servlet com.ibm.ws.webcontainer.enablePostOnlyJSecurityCheck est passé de false à true dans Jakarta EE 9. Si votre application utilise j_security_check dans des fichiers html ou jsp, testez si cette modification l'affectera.

Servlet : flux de sortie de réponse désormais fermé automatiquement

Lorsqu'une application encapsule un objet de réponse et l'utilise dans le transfert de message, avant Jakarta EE 9, le flux de sortie de la réponse n'était pas fermé avant de quitter le transfert. Cette fermeture est requise par la spécification de servlet. Lorsqu'une application continue d'écrire après le transfert, des données supplémentaires sont écrites dans la réponse. Dans Jakarta EE 9, ce comportement a été modifié de sorte que le flux de sortie est désormais fermé. Une propriété webcontainer closeWrappedResponseOutputAfterForward a été ajouté pour activer ou désactiver ce comportement. Mettez la propriété à false si votre application requiert le comportement antérieur.

Enterprise Beans : interopérabilité distribuée supprimée de la spécification

Dans Jakarta EE 9, l'interopérabilité répartie a été supprimée de la spécification Enterprise Beans. Liberty continue de prendre en charge RMI sur IIOP, mais notez qu'en raison du changement de nom du package, le serveur distant doit également utiliser Jakarta EE 9. Tandis que Liberty continue de prendre en charge l'interopérabilité répartie dans Jakarta EE 9, d'autres fournisseurs de serveur peuvent supprimer la prise en charge.