Bonjour la compagnie,
Bon je poste ici même si je ne suis pas persuadé que c'est JBoss le problème, je verrais plus ça dans Hibernate mais au cas ou je commence ici.
Alors l'application:
- des EJB 3.0 deployés sur le serveur JBoss
- Une application swing (CRUD) qui accède aux données
Je viens de découvrir un bug que je ne m'explique pas (surtout que c'est un bug qui n'apparait pas sur une autre appli développée sur le même modèle et avec la même config de JBoss).
Si j'édite une entité sur le client, par exemple je rajoute 123 à la fin d'un champ commentaire et que je sauve le résultat, cela fonctionne.
Si je fais un select avec un outil genre Squirrel pour voir la row qui a été modifiée, je vois la modif
Si j'édite de nouveau la même entité et que j'efface mon 123, du coté client pas d'exception, du coté serveur pas d'exception non plus par contre si recharge mon entité depuis la base (ou que je fais un select depuis un autre outil) je vois que mon second merge n'a pas fonctionné, 123 est toujours là
Ceci n'arrive que si je fais un select entre les 2 merges. J'ai testé avec Squirrel, SQLPlus et une autre application cliente qui lirait la même donnée, même résultat à chaque fois, si j'ai un select de fait sur la row que je modifie, le second merge ne fonctionnera pas mais rien ne me l'indiquera.
J'ai essayé de faire un flush juste après sans aucune amélioration.
La seule différence que j'ai trouvé entre les 2 applications (celle qui marche et celle qui me pose problème) c'est que dans les logs du serveur à problème j'ai régulièrement des "agressively releasing JDBC connection"
Quelqu'un aurait une explication ou des pistes d'investigations ? Je suis largué complet pour le moment
Bulbo![]()
Partager