Maison >base de données >tutoriel mysql >Pourquoi Tomcat 7.x émet-il un avertissement de fuite de mémoire lors de l'utilisation de sources de données JDBC ?
Avertissement de source de données Tomcat JDBC : fuite de mémoire
Lors de l'arrêt de Tomcat 7.x avec une source de données Tomcat JDBC configurée, vous pouvez rencontrer l'avertissement suivant dans le fichier journal catalina.out :
Mar 26, 2013 1:17:52 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJDBC SEVERE: The web application [/my_webapp] 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.
Cet avertissement indique qu'une fuite de mémoire pourrait se produire en raison du fait que le pilote JDBC n'est pas correctement désenregistré lorsque l'application Web est arrêtée. Pour résoudre ce problème, malgré la définition de la méthode de destruction pour DataSource, l'avertissement persiste.
Une autre cause potentielle d'une fuite de mémoire est mise en évidence par un avertissement distinct :
Mar 26, 2013 1:17:52 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/my_webapp] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak.
Pour résoudre les deux avertissements :
Déplacez le fichier JAR du connecteur/pilote MySQL du fichier WAR dans le dossier lib Tomcat. Le déploiement du fichier WAR avec le pilote inclus peut entraîner des fuites de mémoire dues à un garbage collection incorrect.
Déterminez pourquoi le thread « Minuterie d'annulation d'instruction MySQL » n'est pas arrêté. Vérifiez le code de l'application ou toute bibliothèque tierce utilisée pour identifier l'endroit où ce thread est démarré et assurez-vous qu'il est correctement arrêté lorsque l'application est arrêtée.
En mettant en œuvre ces mesures, vous pouvez prévenir efficacement les fuites de mémoire et évitez les avertissements dans le fichier journal catalina.out.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!