Après quelques requêtes, obtenez le message suivant de Hibernate: Tout semble fonctionner, il n'y a pas d'erreur, mais je n'ai trouvé aucune explication quant à ce que ce message signifie, ou si je devais faire quoi que ce soit à ce sujet. p> J'utilise hibernate / jpa avec les transactions mondiales JTA. P> Toute idée? P> < / p>
3 Réponses :
Ce message est produit dans le org.hibernate.engine.jdbc.internal.jdbccoordinatorimpl strong> (au moins est que le seul endroit que j'ai trouvé utilisé utilisé) et est déclaré comme info Strong>: public void afterTransaction() {
transactionTimeOutInstant = -1;
if ( connectionReleaseMode() == ConnectionReleaseMode.AFTER_STATEMENT ||
connectionReleaseMode() == ConnectionReleaseMode.AFTER_TRANSACTION ) {
if ( hasRegisteredResources() ) {
LOG.forcingContainerResourceCleanup();
releaseResources();
}
getLogicalConnection().aggressiveRelease();
}
}
(Pour compléter la réponse de XWoker.) P>
Les ressources dont nous parlons sont: p>
Ce message se produit car vous avez laissé certaines de ces ressources Ouvrir em> I.e. Vous n'avez pas appelé leur Pour éviter ce journal: appelez simplement la méthode Fermer () (sur vos résultats (s) et vos relevés (s)) vous-même avant la fin de la transaction. p> ferme () code> méthode. En raison de la Connexion actuelleReleasemode: ces ressources sont devenues inutiles et Hibernate vous informe qu'il appelle la méthode de près () pour vous. P>
En effet, trouvé, fermé et fixé - je peux dormir en paix maintenant :)
Ce message de journal HHH000106: Forcer le nettoyage des ressources de conteneur sur l'achèvement des transactions CODE> peut également être déclenché par des problèmes de sécurité de thread, si des sessions hibernées sont partagées accidentellement entre différents threads (et donc différentes transactions). Si tel est le cas, il peut être suivi d'une exception comme
en essayant de renvoyer une connexion inconnue2! Code> et de fuir une connexion JDBC à partir du pool de connexion. P>
Essayez de définir la propriété
hibernate.connection.release_mode code> sur
On_close code> et voyez si vous obtenez toujours le message.
Il a évidemment googlé avant de poser la question. Je ne pense pas qu'il cherche cette solution, je pourrais me tromper cependant
Eh bien, je cherche une explication, pas nécessairement une solution :)
C'est un journal d'information. Ce n'est pas un avertissement ou une erreur, il n'est donc pas nécessaire de faire quoi que ce soit.