2010-04-11 3 views
0

J'ai une méthode simple (utilisée dans une application web via des servlets) qui obtient une connexion d'un nom JNDI et émet une instruction select (obtenir la connexion, émettre la sélection, retourner le résultat, fermer la connexion, etc.). En raison d'autres méthodes dans l'application, la connexion est définie sur autocommit = false. Cette méthode fonctionne normalement dans websphere 6.1 ainsi que dans glassfish et weblogic. Cependant, dans websphere 7, il reçoit une erreur de nettoyage ratée lorsque je ferme la connexion car, dit-il, la connexion est toujours dans une transaction. Parce que je n'étais pas en train de mettre à jour quelque chose que je n'ai pas fait ou annuler la connexion dans cette méthode (ce qui peut être faux). Si j'ajoute commit avant de fermer la connexion, cela fonctionne. Ma question est pourquoi cela fonctionne dans websphere 6.1 (et d'autres conteneurs) et pourquoi pas dans websphere 7? Quelle peut être la cause de cette différence?fermer échoue sur les connexions de base de données (échec de nettoyage de connexion géré) dans websphere 7 mais pas dans websphere 6.1

Répondre

0

Veuillez consulter la console d'administration, les paramètres du serveur et les paramètres du service de transaction. Les paramètres par défaut diffèrent en 7.x et 6.x.

Questions connexes