Bezüglich der Frage des Thread Gehängt, websphere
Ich bin vor Problem der hängenden java-thread in unserer Entwicklung Anwendung. Im folgenden werden die log-trace:
020 SystemOut O --------------------------------------------------------------------------------
[8/1/12 11:00:21:136 CDT] 00000023 ThreadMonitor W WSVR0605W: Thread "WebContainer : 6" (00000027) has been active for 731757 milliseconds and may be hung. There is/are 2 thread(s) in total in the server that may be hung.
[8/1/12 11:00:24:626 CDT] 00000021 FreePool E J2CA0045E: Connection not available while invoking method createOrWaitForConnection for resource jdbc/RTNCTR_DEV.
[8/1/12 11:00:24:636 CDT] 00000021 SystemOut O
[8/1/12 11:00:24:636 CDT] 00000021 SystemOut O --------------------------------------------------------------------------------
nicht in der Lage zu finden, die Ursache von diesem problem ist , Bitte beraten Sie für mögliche Lösungen, Leute bitte beraten, wie ich bin oben hängen..!!
- Ich würde vermuten, deine threads hängen, weil websphere kann nicht erhalten eine Verbindung zu der Datenbank und hängen geblieben ist. Schauen Sie auf die Datenbank, wie viele verbindungen aktiv sind, wie können Sie schlagen ein limit. Wenn Sie neu gestartet, beide websphere und db, tritt das problem erneut Auftritt. Muss die Verbindung funktionieren?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für den Anfang, Sie wollen zu finden, wenn diese bestimmten thread stecken geblieben ist durch das anfordern einer javacore thread dump.
Auf einer UNIX-Plattform, Sie nur ein kill -3 auf die Prozess-ID. Auf Windows müssen Sie die Verwendung wsadmin Befehle (welche auch auf UNIX, ist aber nicht so schnell wie das töten -3).
Suchen Sie die resultierende Datei für
WebContainer : 6
, und dass die thread-stack-trace wird angezeigt, wo in der Anwendungs-oder WebSphere-das Gewinde stecken geblieben ist.Sehen Fehlerbestimmung für javacore Dateien von WebSphere Application Server.
Wie es aussieht ist es stecken geblieben warten auf eine Verbindung zur Datenquelle 'jdbc/RTNCTR_DEV'. Meine Vermutung wäre, dass entweder Sie haben keine verbindungen verfügbar, oder Sie sind Anwendung leckt Sie. Tun, was beny23 früher gesagt und dass ist zu überprüfen, ob die verbindungen überhaupt funktioniert (nach einem Neustart vielleicht), wenn es funktioniert und Sie plötzlich aufhören (sagen wir nach 10 Abfragen), dann haben Sie ein Leck. Wenn Sie überhaupt nicht arbeiten Blick auf die datasource-Konfiguration WAR.
Wenn Ihr ein Leck gehen Sie dann durch Ihre Anwendung und finden Sie, wo Sie sind-nicht wieder die Verbindung an den pool oder schließen der Verbindung - alles hängt davon ab, wie Ihre Anwendung funktioniert.
Hatten wir ein problem, ähnliche Probleme. Stellte sich heraus gelöst werden, durch hinzufügen einer benutzerdefinierten Einstellung auf die datasource festlegen-Verbindung Einstellungen auf false. Wir natürlich zuerst festgestellt, es war nicht unser Antrag, die war undicht verbindungen.