2009-06-25 5 views
0

Nous lançons notre application sur Websphere 6.1 et nous atteignons une base de données Oracle 10g. Au cours des derniers jours, nous avons remarqué les erreurs suivantes dans notre journal J2CA0045E: Connexion non disponible lors de l'appel de la méthode createOrWaitForConnection pour la ressource jdbc/xxxxx.Problème de connexion Websphere

L'application semble se bloquer et se rectifier après 20 minutes. Notre pool de connexions permet actuellement 50 connexions et notre base de données permet 1200 sessions.

Nous ne pouvons pas reproduire cela dans notre environnement de contrôle qualité. Est-ce que quelqu'un a des idées sur la façon dont nous pouvons recréer ce problème, ou des idées sur la façon dont nous pouvons le résoudre dans notre environnement de production?

Merci Damien

Répondre

1

Eh bien, si vous ne pouvez pas reproduire le problème dans QA, Id commencer à identifier les différences les 2 environnements, et en changeant QA pour refléter Prod si possible. Quel serveur utilisez-vous? Pouvez-vous le répliquer sur WTE (si vous en utilisez un?) Êtes-vous sûr que les deux versions du serveur sont les mêmes ... vous avez dit 6.1 ... mais regardez de plus près au démarrage: Cherchez quelque chose comme?

************ Lancer affichage Environnement actuel ************ Plate-forme WebSphere 6.0 [BASE 6.0.2.5 cf50549.21] en cours d'exécution avec le nom du processus C001209912Node01Cell \ C001209912Node01 \ server1 et l'ID du processus 8720

Confirmez-vous que vous avez les mêmes groupes de mise à jour, etc.

0

Est-il possible qu'une application ne libère pas correctement sa connexion, peut-être dans un ensemble de conditions très particulier? Par exemple, peut-être ne pas le faire dans un "enfin"? Donc, en prod, cela arrive plus souvent que dans l'assurance qualité parce que les données et les activités sont différentes?

En surveillant l'état des connexions, en utilisant TPV ou quel que soit l'outil que vous préférez, vous devriez être en mesure de voir ce qui se passe. Je m'attendrais à ce que les connexions «orphelines» soient réparées après une certaine période d'inactivité - cela correspondrait au cycle de rétablissement que vous voyez. Avec un peu d'effort, vous pouvez activer assez de trace websphere pour voir l'allocation et la libération des connexions, et vous devriez pouvoir voir les paires non concordantes.

Je passerais en revue toute application récemment déployée. Rechercher la connexion s'ouvre et vérifier les blocs "enfin" appropriés.