Je développe une application Java SE avec une base de données MySQL. Il utilise un pool de connexion de taille 10 car il y a beaucoup d'écrans. Chaque écran a un thread qui mettra à jour certains JTables environ toutes les 10 secondes. Mon code de regroupement de connexion est pris de http://java.sun.com/developer/onlineTraining/Programming/JDCBook/conpool.html avec quelques méthodes ajoutées pour mon propre confort. Mon problème est que lorsque je modifie certaines données de l'application et que je les sauvegarde dans la base de données, les JTables affichent désormais aléatoirement soit les nouvelles données mises à jour, soit les anciennes données d'origine, chaque fois que le thread s'exécute pour mettre à jour l'écran. Il oscille entre le nouveau et l'ancien, chaque fois que le fil boucle.Résultats de requête de pool de connexions sautant entre des données en direct et anciennes?
J'ai aussi quelques objets que je charge en cliquant sur une ligne dans le JTable, et en affichant leurs détails dans les textBoxes. Si je clique sur une ligne avec les données qui ont le problème ci-dessus, l'objet qui est chargé, montre également les mêmes "anciennes" valeurs. (Ceci en dépit du fait que l'objet ait une nouvelle connexion différente du pool de base de données pour charger ses valeurs)
Lorsque le JTable est actualisé à nouveau et affiche les données "mises à jour" correctes - et que je charge l'objet, l'objet aussi affiche les données correctes.
Est-ce un problème avec la bibliothèque de regroupement de connexions de base de données que j'utilise, existe-t-il une meilleure alternative? J'ai essayé d'exécuter tout mon code rafraîchissant avec SQL_NO_CACHE
mais cela n'a aucun effet. Je suis nouveau ici, alors laissez-moi savoir s'il y a quelque chose qui me manque dans les détails, merci!
Cela a fait l'affaire! Merci. Pouvez-vous expliquer un peu plus ce que vous entendez par «gérer correctement vos transactions»? – skeletorhig