com.ibm.websphere.ce.cm.ConnectionWaitTimeoutException: Anschluss nicht von einem DBA

Ich bin ein Oracle-DBA und nicht ein java developer oder websphere-Experten. Vor kurzem haben wir begonnen, mithilfe von websphere in unserer Umwelt. Damit die Entwickler noch lernen. Also ich kann mich nicht Wort meiner Frage richtig. Ich Suche die Foren und sah 2 andere Fragen wie diese. Meine Frage ist mehr über, wie Sie Probleme zu Schießen diese.

Websphere 8.5.0.2
Oracle 11.2.0.3

  1. Sehe ich 20 offene verbindungen in der Datenbank. Alle sind inaktiv. Sie sind also nicht die Verarbeitung. Von oracle ist es v$session. Inaktiv bedeutet, Sie sind offen und nichts zu tun. Im Grunde ist es müßig.
  2. Wenn Sie inaktiv sind, und nicht die Bearbeitung, Sie sollen für die Verbindung pool zu geben, um einen neuen requester, vorausgesetzt, DAO die java-Entwickler wird geschlossen, wenn Sie fertig sind (dies schließt die try/catch-block). Wir bestätigt, dass er die Schließung seiner verbindungen.

Prüfungen so weit:
1. Wir prüften die Entwickler code. Er ist mit standard-java-DAOs. Er schließt seine Verbindung. Er hat einen try/catch-block und das erste, was er tut, in der Haken ist, schließen Sie die Verbindung.
2. Meine Vermutung ist, dass diese soll decken den code-Pfad.

Wir nicht alle Fehler sehen, wuchs in einem log über 'schließen' wird eine Verbindung.

Mein Verständnis, wie ein connection pool funktioniert
1. Pool-Manager öffnet einen konfigurierbaren Satz von verbindungen zur Datenbank. In unserem Fall ist das 20.
2. Wenn eine Anwendung eine Verbindung anfordert, wird der connection manager funktioniert ein lookup auf den pool für die nächste verfügbare Verbindung und übergibt dann einen Zeiger auf, der eine Verbindung zu den anfordernden Funktion.

Möglichkeit:
1. wirklich langsamer server. Wir sind mit VMs für Entwicklung/test. Wir haben keine Sicht auf den Servern zu sehen, ob Sie beschäftigt sind. Also eine andere VM sein könnte mit der CPU oder der Festplatte.
Obwohl lookups für die verfügbaren verbindungen sind geringes Gewicht, ist es möglich, dass der server aufgehängt hat bei 100% cpu und wir timeout. Problem ist, ich habe nicht einen Weg, dies zu betrachten. Keine Privilegien und keinen Zugang zu jemandem, der tut.

  1. nicht schließen verbindungen: Wir checkten ziemlich gründlich. Wir sehen keinen code Pässe (inklusive der Ausnahmen), wo er nicht ist, wird das schließen von verbindungen. Erste, was er tut, in einem catch, ist die Verbindung schließen.

Irgendwelche Vorschläge, wo Sie suchen? Ich denke, der ein Problem mit einem langsamen server, aber ich möchte Regel andere Sachen aus. Ich möchte einmal festhalten, dass ich kein java developer oder websphere-Experten. Also meine Frage schlecht formuliert.

InformationsquelleAutor Bob | 2013-05-22
Schreibe einen Kommentar