Bonjour à vous !
J'utilise TomCat 7.0.16 sous Windows 7. Je travaille avec Eclipse.
Je planche sur un problème depuis 48h, et je n'ai pas encore trouvé la solution... autant dire que je commence à désespérer !
Apparemment, c'est un problème que d'autres ont eu déjà, mais aucune des solutions proposées ne fonctionnent sur ma machine.
Je m'explique.
Je développe une application dont le nom est Reputation. J'utilise JDBC pour me connecter à ma base de données MySQL. Lorsque je modifie mon code JEE, puis que je rafraichis ma page, la console d'Eclipse me signale l'erreur suivante :
GRAVE: The web application [/Reputation] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
De plus, une exception est lancée :
No suitable driver found for jdbc:mysql://localhost/auth2?useUnicode=true&characterEncoding=UTF-8
Après googlisation, ce serait dû à un nouveau composant de TomCat : le JreMemoryLeakPreventionListener, qui poserait quelques problèmes avec certaines librairies, dont JDBC.
J'ai donc essayé dans un premier temps la solution proposée par Henri Gomez, mais mon problème persiste toujours, même après avoir vidé les dossiers
- $TOMCAT_ROOT/temp
- $TOMCAT_ROOT/work
- $TOMCAT_ROOT/webapps/Reputation/work
J'ai donc ensuite essayé de modifier la méthode contextDestroyed() de mon ServletContextListener comme proposé ici, en désenregistrant manuellement le driver JDBC, en vain.
Dernier essai : j'ai installé TomCat 6.0.24 (le composant JreMemoryLeakPreventionListener ne devrait être présent qu'à partir des versions 6.0.26+), en vain ! Et je n'ai pas vraiment envie de passer à TomCat 5.x, étant donné qu'on en est à la 7.x...
Voilà ! Quelqu'un a-t-il déjà rencontré ce problème ? Auriez-vous des (pistes de) solutions ?
Merci à vous !
sp00m
Partager