Utilisez cette règle pour marquer les méthodes d'implémentation d'EJB possédant une clause throws qui ne correspond pas aux méthodes d'interface home ou distante correspondantes. La clause throws doit correspondre, sinon le compilateur RMI génère des erreurs et ne peut pas créer les modules de remplacement RMI. Un correctif rapide est disponible dans le scanner de source. Le correctif rapide supprime l'exception NullPointerException dans la méthode d'implémentation de bean ci-après.
Par exemple, la ligne suivante est définie dans l'interface distante :
|
public Object getEmployee(java.lang.String serialNumber) throws RemoteException, SQLException, IllegalStateException; |
|
public Object getEmployee(java.lang.String serialNumber)
throws SQLException, |
Seules les classes d'implémentation du bean sont marquées par la règle et modifiées par le correctif rapide. Si l'interface est incorrecte, modifiez-la manuellement en ajoutant l'exception manquante. Ensuite, effectuez une nouvelle analyse.
L'exception java.rmi.RemoteException n'est pas copiée à partir des interfaces vers l'implémentation du bean. L'implémentation du bean ne doit pas générer l'exception RemoteException car cette action enfreint également une spécification d'EJB.
Si une exception est ajoutée, l'importation est ajoutée si elle peut être résolue. Lorsqu'une exception est supprimée, l'importation n'est pas supprimée au cas où elle serait utilisée par d'autres méthodes de la classe. Il peut être nécessaire d'organiser les importations après l'application de correctifs rapides.
Les erreurs Java doivent être résolues dans la définition de méthode pour que les clauses throws non concordantes puissent être détectées. En cas d'erreurs Java, corrigez-les, puis effectuez une nouvelle analyse.