Fuite de mémoire de la source de données JDBC dans Tomcat 7
Lors de l'arrêt de Tomcat 7 à l'aide de la source de données JDBC, les utilisateurs peuvent rencontrer un message d'avertissement similaire au ci-dessous :
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.
Résolution du problème d'enregistrement du pilote JDBC
Pour résoudre le problème lié à la désinscription du pilote JDBC, assurez-vous que la méthode de destruction est correctement configurée dans le
<bean>
Résolution de l'erreur du minuteur d'annulation de l'instruction MySQL
Pour résoudre l'erreur liée au thread du minuteur d'annulation de l'instruction MySQL, suivez ces étapes :
<context-param> <param-name>shutdownHook</param-name> <param-value>com.example.MyShutdownHook</param-value> </context-param>
Créez la classe MyShutdownHook à exécuter à l'arrêt de Tomcat :
public class MyShutdownHook implements Shutdownable { @Override public void shutdown() { // Logic to properly close the MySQL Statement Cancellation Timer thread } }
En implémentant les solutions ci-dessus, les fuites de mémoire liées à l'utilisation de la source de données JDBC et au problème du minuteur d'annulation de l'instruction MySQL peuvent être efficacement atténuées dans Tomcat 7.
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!