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.
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |