Bonjour à tous,
je développe actuellement une application permettant de gérer l'utilisation des ordinateurs d'un lycée. Les applications clientes sont sur des postes Linux et le serveur MySQL est sur un Windows XP pro (oui je sais ça peut paraitre bizarre, mais c'était comme ça quand je suis arrivé).
J'ai d'abord repris l'ébauche de programme repris développé par un étudiant, mais je me suis aperçu qu'il était vraiment mal fichu (et comme mes souvenirs de java remontaient à vieux, c'était plus intéressant de tout refaire pour réapprendre les mécanismes).
Mais les deux programmes avaient le même souci, ils étaient lents, très lents à tel point que les fenêtres plantaient.
En parsemant le code d'alert consoles, je me suis aperçu que la cause de cette lenteur c'était la connexion au serveur MySQL.
En fait pour chaque requête, j'ouvrais la connexion et la fermais après le résultat.
Pour pallier à ce problème, je charge le driver et me connecte à la base au lancement du programme. Les requêtes se faisant par la suite et je ne fermes donc plus la connexion.
Mais est-ce que le garbage collector ne risque pas de fermer ma connexion à un moment ou à un autre alors qu'elle devrait rester active tout le long de l'existence du programme ? Si oui, comment l'en empêcher ?
Il faut savoir, que si un utilisateur utilise le programme, il y aura au moins une requête de mise à jour toutes les minutes, mais il se peut aussi, qu'aucun utilisateur n'utilise le programme pendant plusieurs heures.
Merci de votre aide.
Partager