Révision de code Java

Sous l'ensemble de règles Révision du code Java, la catégorie Migration de version WebSphere contient des règles pour la migration depuis WebSphere Application Server version 5.1, 6.0, 6.1, 7.0, 8.0 et 8.5.5 vers la version 8.0, 8.5.5 ou 9.0. Pour plus d'informations sur une règle, voir Affichage de l'aide détaillée.

Si possible, des correctifs rapides sont fournis. Les règles sans correctif rapide marquent les violations de règle, pour que vous puissiez évaluer leur utilisation et migrer le code manuellement.

Tableau 1. Migration de la version 5.1 vers la version 6.0
Nom de règle Description de la règle Correction automatisée
Rechercher un changement de comportement sur le type de contenu par défaut de ServletResponse

Le type de contenu par défaut de HttpServletResponse est passé de "text/html" à "text/plain" pour les servlets n'ayant pas défini de type de contenu.

Non
Rechercher un changement de comportement sur les URL contenant un signe plus

Cette règle marque les appels, dans le code Java, permettant de créer des URL (Uniform Resource Locators) contenant un signe plus ("+") dans l'URI qui ne fait pas partie des paramètres de requête. Le signe plus ("+") n'est réservé que dans la portion de la chaîne de requête de l'URL.

Non
Vérifier le comportement attendu sur la méthode sendRedirect() de ServletResponse

L'implémentation WebSphere Application Server de la méthode ServletResponse.sendRedirect() omet les informations de chemin jusqu'à la dernière barre oblique. Ce comportement peut être corrigé avec une nouvelle propriété personnalisée.

Non
Utiliser une barre oblique sur les demandes getResource() et getResourceAsStream() de ServletContext

Cette règle marque les appels aux méthodes ServletContext.getResource() et ServletContext.getResourceAsStream() lorsqu'elle ne parvient pas à déterminer facilement si la valeur de chaîne transmise sur la méthode contient une barre oblique (/) de début, conformément à la spécification des servlets.

Non
Ne pas utiliser les fonctions du composant d'activité qui ont été supprimées

Cette règle marque l'utilisation des classes et interfaces du composant d'activité qui ont été supprimées dans WebSphere Application Server version 6.0.

Non
Ne pas utiliser les fonctions de tâche Ant qui ont été supprimées

Cette règle marque l'utilisation des classes et interfaces de tâche Ant qui ont été supprimées dans WebSphere Application Server version 6.0.

Non
Ne pas utiliser les fonctions de bean asynchrone qui ont été supprimées

Cette règle marque l'utilisation des classes et interfaces de bean asynchrone qui ont été supprimées dans WebSphere Application Server version 6.0.

Non
Ne pas utiliser les fonctions de pool d'objets qui ont été supprimées

Cette règle marque l'utilisation des classes de pool d'objets qui ont été supprimées dans WebSphere Application Server version 6.0.

Non
Ne pas utiliser les fonctions RAS qui ont été supprimées

Cette règle marque l'utilisation des classes et interfaces RAS qui ont été supprimées dans WebSphere Application Server version 6.0.

Non
Ne pas utiliser les fonctions du planificateur qui ont été supprimées

Cette règle marque l'utilisation des classes et interfaces du planificateur qui ont été supprimées dans WebSphere Application Server version 6.0.

Non
Ne pas utiliser les fonctions de sécurité qui ont été supprimées

Cette règle marque l'utilisation des classes et interfaces RAS qui ont été supprimées dans WebSphere Application Server version 6.0.

Non
Ne pas utiliser la classe EarUtils qui a été supprimée

Cette règle marque l'utilisation de la classe EarUtils qui a été supprimée dans WebSphere Application Server version 6.0.

Non
Ne pas utiliser la méthode setJMSPriority() supprimée

Cette règle marque l'utilisation de la méthode setJMSPriority à partir de l'interface com.ibm.websphere.scheduler.MessageTaskInfo. Cette méthode est obsolète depuis Websphere Application Server version 6.0 et a été remplacée par la méthode getJMSPriority.

Non
Ne pas utiliser les fonctions de profil utilisateur qui ont été supprimées

Cette règle marque l'utilisation des classes et interfaces de profil utilisateur qui ont été supprimées dans WebSphere Application Server version 6.0.

Non

Tableau 2. Migration de la version 5.1 vers la version 6.0
Nom de règle Description de la règle Correction automatisée
Rechercher un changement de comportement sur la méthode EJBContext.setRollbackOnly()

Un appel à la méthode setRollbackOnly dans le cadre d'un certain scénario peut générer un résultat différent dans les versions de WebSphere Application Server antérieures à la version 6.0.2.

Non
Ne pas utiliser les fonctions Common Connector Framework supprimées

Cette règle marque l'utilisation des packages de l'API Common Connector Framework supprimés dans WebSphere Application Server version 6.1.

Non
Ne pas utiliser la méthode Ant WebSphere StopServer.setHost() qui a été supprimée

Cette règle marque l'utilisation de la méthode setHost(String s) supprimée de la classe com.ibm.websphere.ant.tasks.StopServer.

Non
Utiliser l'implémentation de JDOM à code source ouvert à la place de l'implémentation supprimée

Cette règle marque l'utilisation des packages JDOM supprimés dans WebSphere Application Server version 6.1.

Non
Utiliser l'implémentation Mozilla Rhino à code source ouvert à la place de l'implémentation supprimée

Cette règle marque l'utilisation des packages Rhino supprimés dans WebSphere Application Server version 6.1.

Non
Utilisez l'interface UserRegistry au lieu de l'interface CustomRegistry

Cette règle marque l'utilisation de l'interface CustomRegistry qui a été supprimée dans WebSphere Application Server version 6.1.

Non

Tableau 3. Migration de la version 6.1 vers la version 7.0
Nom de règle Description de la règle Correction automatisée
Rechercher un changement de comportement des exigences de mémoire des ports dynamiques JAX-WS

Cette règle marque l'utilisation des ports dynamiques JAX-WS créés avec la méthode javax.xml.ws.Service addPort. Ce changement de comportement peut augmenter la mémoire nécessaire.

Non
Vérifier la classe d'initialisation de la fabrique de contexte JAXB

Cette règle marque la méthode JAXBContext newInstance() car la méthode de fabrique de contexte a changé depuis les versions précédentes de JAXB.

Non
Utiliser uniquement des annotations JAX-WS dans Java EE 5 et les versions ultérieures

Cette règle détecte l'utilisation d'annotations JAX-WS dans les projets d'entreprise antérieurs à Java EE 5.

Non
Ne pas utiliser l'interface DistributedLockingMap supprimée

Cette règle marque l'interface com.ibm.websphere.cache. DistributedLockingMap supprimée.

Non
Ne pas utiliser le constructeur InvalidationEvent ou ChangeEvent qui a été supprimé

Cette règle marque l'utilisation des constructeurs supprimés des classes com.ibm.websphere.cache.InvalidationEvent ou com.ibm.websphere.cache.ChangeEvent. Le nouveau constructeur prend une zone supplémentaire.

Non
Ne pas utiliser la classe SequeLinkDataStoreHelper qui a été supprimée

Cette règle marque l'utilisation de la classe com.ibm.websphere.rsadapter.SequeLinkDataStoreHelper.

Non
Ne pas utiliser la classe WebSphere UserTransactionWrapper qui a été supprimée

N'utilisez pas la classe com.ibm.websphere.servlet.session. UserTransactionWrapper car elle a été supprimée. Stockez un objet UserTransaction directement dans la session HTTP sans l'encapsuler dans la classe supprimée.

Non
Ne pas utiliser la classe WSConnectJDBCDataStoreHelper qui a été supprimée

Cette règle marque l'utilisation de la classe com.ibm.websphere.rsadapter.WSConnectJDBCDataStoreHelper et de la zone com.ibm.websphere.rsadapter.DataStoreHelper.WSCONNECTJDBC_HELPER qui ont été retirées.

Non
Ne pas utiliser les API de personnalisation de la passerelle des services Web qui ont été supprimées

N'utilisez pas les API de personnalisation des services Web. La règle marque l'utilisation du package com.ibm.wsgw.beans.*.

Non
Utiliser les filtres de servlet Java EE au lieu des classes de filtre de servlet WebSphere supprimées

N'utilisez pas de classes com.ibm.websphere.servlet.filter car elles ont été supprimées. Utilisez les classes javax.servlet.filter à la place.

Non
Utiliser la classe ConnectJDBCDataStoreHelper au lieu de la classe DataDirectDataStoreHelper

N'utilisez pas l'objet com.ibm.websphere.rsadapter.DataDirectDataStoreHelper car il a été retiré.

Le correctif rapide modifie le code pour utiliser com.ibm.websphere.rsadapter.ConnectJDBCDataStoreHelper à la place.

Non
Utiliser la classe auxiliaire MicrosoftSQLServerDataStore au lieu de la classe MSSQLDataStoreHelper

N'utilisez pas la classe com.ibm.websphere.rsadapter.MSSQLDataStoreHelper car elle a été retirée.

Le correctif rapide modifie le code pour utiliser com.ibm.websphere.rsadapter.MicrosoftSQLServerDataStoreHelper à la place.

Non

Tableau 4. Migration de la version 7.0 vers la version 8.0
Nom de règle Description de la règle Correction automatisée
Rechercher un changement de comportement pour la présence d'EJB dans un module Web

Cette règle marque les annotations EJB dans les fichiers Java si ces fichiers sont dans un module web version 2.5 ou ultérieure.

Non
Rechercher un changement de comportement dans l'héritage de ApplicationException

Cette règle marque l'annotation ApplicationException dont l'attribut inherited n'est pas défini. L'attribut inherited a été ajouté dans EJB 3.1 et a changé le comportement par défaut des applications EJB 3.0.

Non
Rechercher tout changement de comportement dans une action SOAP définie dans les messages sortants

Cette règle marque les applications client JAX-WS Dispatch dont le comportement peut changer dans le paramètre d'action SOAP pour les messages sortants.

Non
Rechercher un changement de comportement dans les méthodes SOAPMessage

Cette règle marque les appels des méthodes SOAPMessage getSOAPHeader() et getSOAPBody() qui émettent désormais une exception au lieu de renvoyer la valeur null en cas d'absence d'en-tête ou de corps.

Non
Rechercher tout changement de comportement dans les codes et les chaînes d'erreurs SOAP des services Web

Cette règle marque les applications qui extraient les codes d'erreur et les chaînes SOAP d'AX-WS et de JAX-RP, car une partie du contenu a changé dans la version 8.0.

Non
Rechercher un changement de comportement sur la méthode refresh(entité Objet) de EntityManager

Cette règle marque la méthode EntityManager.refresh(), car le comportement de cette méthode a changé.

Non
Rechercher un changement de comportement sur la méthode OpenJPAEntityManager detach(T pc)

Cette règle marque la méthode OpenJPAEntityManager detach(T pc). Le type retourné par la méthode a changé de façon à être conforme à la spécification JPA 2.0.

Le correctif rapide remplace la méthode detach() par detachCopy().

Non
Rechercher un changement de comportement sur les méthodes SipFactory

Cette règle marque certaines méthodes SipFactory utilisant un paramètre de type chaîne to, from ou addr pour lequel il y a un changement de comportement.

Non
Rechercher un changement de comportement sur certaines opérations du serveur MBean

Cette règle marque l'utilisation des opérations modifiées du serveur MBean getComponentVersion, getEFixVersion, getPTFVersion, getExtensionVersion, getVersionsForAllComponents et getVersionsForAllEFixesstartTransports.

Non
Rechercher un changement de comportement dans la méthode de clonage d'URI SIP

Cette règle marque la méthode clone SIP URI car elle peut générer une exception si l'application a été compilée avec WebSphere Application Server version 7.0 ou avec des interfaces SIP Servlets 1.0.

Pour résoudre l'exception, recompilez l'application avec WebSphere Application Server version 7.0 et le module de fonctions CEA ou avec WebSphere Application Server version 8.0 ou ultérieure.

Non
Ne pas utiliser l'API SOAP Apache supprimée

Cette règle marque l'utilisation des classes supprimées dans les packages org.apache.soap et com.ibm.soap packages.

Non
Ne pas utiliser la méthode getCause() supprimée de ServletErrorReport

Cette règle marque la méthode getCause() supprimée dans la classe com.ibm.websphere.servlet.error. ServletErrorReport .

Non
Utiliser l'auxiliaire Oracle 11g au lieu des versions antérieures

Cette règle marque l'utilisation des zones et des auxiliaires Oracle 10g. La version 8.0 ne prend en charge que le pilote et l'auxiliaire JDBC Oracle 11g.

Le correctif rapide modifie le code pour utiliser l'auxiliaire Oracle 11g après avoir confirmé que la configuration d'exécution a été modifiée.

Non

Tableau 5. Migration depuis la version 7.0 vers la version 8.0 ou 8.5
Nom de règle Description de la règle Correction automatisée
Rechercher tout changement de comportement dans les applications JSF (Java Server Faces)

Cette règle marque les applications JSF (Java Server Faces) car l'implémentation par défaut pour le conteneur JSF a changé dans WebSphere version 8.0.

Non

Tableau 6. Migration vers les versions 8.0, 8.5 et 9.0
Nom de règle Description de la règle Correction automatisée
L'API client HTTP d'Apache a été retirée

Cette règle marque l'utilisation de l'API Apache HTTP client qui a été retirée dans WebSphere Application Server version 8.0, 8.5 et 9.0.

Non

Tableau 7. Migration de la version 8.0 vers la version 8.5
Nom de règle Description de la règle Correction automatisée
Rechercher tout changement de comportement dans la stratégie de cascade JPA

Cette règle marque les projets qui utilisent des relations d'entité JPA appliquant des types de cascade PERSIST, MERGE ou ALL car le comportement peut changer potentiellement dans WebSphere Application Server version 8.5. Il existe une règle XML correspondante permettant de détecter ce changement de comportement.

Non

Tableau 8. Migration depuis la version 8.5 vers la version 9.0
Nom de règle Description de la règle Correction automatisée
La SCA a été retirée

Cette règle marque l'utilisation de l'architecture SCA (Service Component Architecture) dans des applications. SCA a été retiré dans WebSphere Application Server version 9.0.

Non
L'API CDI OpenWebBeans a été retirée

Cette règle marque l'utilisation de l'API Apache OpenWebBeans qui a été retirée dans WebSphere Application Server version 9.0.

Non
L'application système CEA commsvc.ear a été retirée

Cette règle marque l'utilisation de l'interface REST CEA (Communications Enabled Applications) REST fournie par l'application système CEA commsvc.ear. L'application système commsvc.ear a été retirée dans WebSphere Application Server version 9.0.

Non
L'API CEI (Common Event Infrastructure) a été retirée

Cette règle marque l'utilisation de l'API Common Event Infrastructure qui a été retirée.

Non
Le moteur JSF SunRI a été retiré

Cette règle marque les références au package com.sun.faces.

Non