Dans Java SE 6, une nouvelle superinterface java.sql.Wrapper a été ajoutée aux interfaces SQL suivantes :
Cette règle détecte et marque les classes Java qui implémentent ces interfaces
et les sous-interfaces connues si les classes n'ont pas de méthode Wrapper.
La compilation des classes qui implémentent ces interfaces Java ne peut pas avoir lieu tant que les méthodes
Wrapper ne sont pas ajoutées à la classe.
Dans l'exemple suivant, la classe MyClass est marquée tant que les méthodes isWrapperFor et unwrap
ne sont pas ajoutées :
La classe publique MyClass implémente javax.sql.DataSource {
La connexion publique getConnection() émet une exception SQLException {
// TODO Auto-generated method stub
return null;
}
La connexion publique getConnection(String username, String password) émet une exception SQLException {
// TODO Auto-generated method stub
return null;
}
public PrintWriter getLogWriter () émet une exception SQLException {
// TODO Auto-generated method stub
return null;
}
public void setLogWriter (PrintWriter out) throws SQLException {
// TODO Auto-generated method stub
}
public void setLoginTimeout (int seconds) throws SQLException {
// TODO Auto-generated method stub
}
public int getLoginTimeout () émet une exception SQLException {
// TODO Auto-generated method stub
return 0;
} }
Pour résoudre le problème, compilez votre application dans Eclipse en utilisant Java 6 ou version ultérieure. Utilisez le correctif automatisé pour ajouter les méthodes manquantes, puis ajoutez manuellement l'implémentation manquante. Copiez la configuration personnalisée vers votre fichier de génération d'application pour activer l'automatisation des correctifs.
Voir la documentation Java de l'interface java.sql.Wrapper pour plus d'informations.