Probleme mit Datenbankanbindung

Status
Nicht offen für weitere Antworten.
G

Gast2

Gast
Hi,
ich habe in meiner Anwendung schon seit längerem Probleme mit meiner Datenbankanbindung.
Meine Anwendung ist ne etwas komplexere Swing Applikation in der einige Threads laufen, es sind also immer mehrere Datenbankverbindungen offen. Als Treiber verwende ich Connection/J mit Commons-DBCP als Connection Pool.
Jetzt bekomme ich abundzu folgende Fehlermeldungen:

Code:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
The last packet sent successfully to the server was 439 milliseconds ago, 
which  is longer than the server configured value of 'wait_timeout'. You should
consider either expiring and/or testing connection validity before use in your
application, increasing the server configured values for client timeouts, or using
the Connector/J connection property 'autoReconnect=true' to avoid this problem.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
        at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3270)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1932)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
        at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422)
        at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
        at cnc.database.DbConnector.executeQuery(DbConnector.java:131)
        at cnc.gui.ProgramsDialog.updateProgramsTable(ProgramsDialog.java:741)
        at cnc.gui.ProgramsDialog.updateProgramsTable(ProgramsDialog.java:703)
        at cnc.gui.ProgramsDialog.formComponentShown(ProgramsDialog.java:589)
        at cnc.gui.ProgramsDialog.access$400(ProgramsDialog.java:56)
        at cnc.gui.ProgramsDialog$5.componentShown(ProgramsDialog.java:250)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:162)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:162)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:162)
        at java.awt.Component.processComponentEvent(Component.java:6095)
        at java.awt.Component.processEvent(Component.java:6043)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.net.SocketException: Software caused connection abort: socket write error
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3251)
        ... 28 more
2009-09-12 00:20:02,846 [AWT-EventQueue-0] ERROR: SQLQuery konnte nicht ausgeführt werden
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet ...
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
        at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3270)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1932)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
        at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422)
        at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
        at cnc.database.DbConnector.executeQuery(DbConnector.java:131)
        at cnc.database.ProgramRelationManager.getCompanyList(ProgramRelationManager.java:160)
        at cnc.gui.ProgramsDialog.updateCompanyDropdown(ProgramsDialog.java:659)
        at cnc.gui.ProgramsDialog.formComponentShown(ProgramsDialog.java:590)
        at cnc.gui.ProgramsDialog.access$400(ProgramsDialog.java:56)
        at cnc.gui.ProgramsDialog$5.componentShown(ProgramsDialog.java:250)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:162)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:162)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:162)
        at java.awt.Component.processComponentEvent(Component.java:6095)
        at java.awt.Component.processEvent(Component.java:6043)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.net.SocketException: Software caused connection abort: socket write error
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3251)
        ... 28 more

Ich habe schon vieles probiert... auch wie in der Fehlermeldung angeraten den Parameter autoReconnect=true angehängt.
Habt ihr irgendwelche Ideen was ich noch probieren könnte um das Problem in den Griff zu bekommen?

Gruß,
Eike

EDIT:
Hier noch eine ähnliche Fehlermeldung die ich grad noch gesehen habe: (das Fettgedruckte könnte interessant sein, weiß aber leider nicht damit anzufangen)

Code:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Last packet sent to the server was 0 ms ago.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
        at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3009)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2477)
        at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422)
        at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
        at cnc.database.DbConnector.executeQuery(DbConnector.java:129)
        at cnc.gui.ProgramsDialog.updateProgramsTable(ProgramsDialog.java:741)
        at cnc.gui.ProgramsDialog.updateProgramsTable(ProgramsDialog.java:703)
        at cnc.gui.ProgramsDialog.formComponentShown(ProgramsDialog.java:589)
        at cnc.gui.ProgramsDialog.access$400(ProgramsDialog.java:56)
        at cnc.gui.ProgramsDialog$5.componentShown(ProgramsDialog.java:250)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:162)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:162)
        at java.awt.AWTEventMulticaster.componentShown(AWTEventMulticaster.java:162)
        at java.awt.Component.processComponentEvent(Component.java:6095)
        at java.awt.Component.processEvent(Component.java:6043)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
[B]Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.[/B]
        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2455)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906)
        ... 30 more
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
So langsam bin ich mit meinem Latein am Ende.
Nun kommt es auch noch vor, dass z.b.
Java:
myCon.createStatement();
abundzu null als Ergebnis liefert... Irgendwas ist da ziemlich im argen :rtfm:
Habe schon den neuesten mysql-connector runtergeladen. Brachte jedoch auch keine Verbesserung.

Hat vielleicht jemand einen Vorschlag für ne neue Treiber + pool combi, so dass ich das ganze zeugs mal austauschen kann?
 

masta // thomas

Bekanntes Mitglied
Hast du mal das MySQL wait_timeout überprüft (SELECT @@global.wait_timeout bzw. SELECT @@session.wait_timeout)? Wenn du die Berechtigungen hast, könntest du ggf. den Wert höher setzen. Falls du diese Berechtigung nicht hast, schau dir die Werte für interactive_timeout an. Falls diese höher sind, könntest du über den JDBC-URL-Parameter interactiveClient=true den "Verbindungs-Timeout gemäß INTERACTIVE_TIMEOUT anstelle von WAIT_TIMEOUT" einstellen.

Viel Erfolg!
 
G

Gast2

Gast
Ich hatte diese 2 Werte in meiner my.ini auf jeweils 60 Sekunden gesetzt. Habe das jetzt wieder entfernt und jetzt steht es auf 28800 Sekunden.

Ich denke dass sollte schonmal das Problem lösen, dass die Verbindungen nach 60 Sekunden von selbst abgebaut werden, da hätte ich auch selbst drauf kommen können :eek:

Schonmal vielen Dank für den Tipp, werde mal schauen ob das ganze jetzt etwas stabiler läuft :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
TH260199 Java-Programm. Probleme bei der Umsetzung von einer Kontaktverwaltung. Datenbankprogrammierung 7
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
Kirby.exe Probleme mit docker-compose.yml Datenbankprogrammierung 4
B Probleme mit Datenbankverbindung Datenbankprogrammierung 2
N java SQL JAR - Probleme Datenbankprogrammierung 18
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
T Oracle Probleme bei getTableName Datenbankprogrammierung 8
B Probleme mit java.sql.SQLException: ResultSet closed Datenbankprogrammierung 21
D Probleme bei Einsteiger Aufgabe SQL Datenbankprogrammierung 2
M JAVA Derby INSERT probleme Datenbankprogrammierung 12
Z MySQL Probleme mit resultSet executQuery Datenbankprogrammierung 3
H Probleme mit Unicodedarstellung in Derby DB Datenbankprogrammierung 1
M MySQL probleme beim "Generate Tables from Entities" Datenbankprogrammierung 9
L Probleme mit DriverManager.getConnection(..) - Endlosschleife, Java Absturz, Keine Exception Datenbankprogrammierung 4
S Derby/JavaDB Probleme beim anlegen einer embedded DB Datenbankprogrammierung 13
P Probleme mit meinem 1. Hibernate Beispiel Datenbankprogrammierung 3
W Probleme mit AND und OR Datenbankprogrammierung 5
D DB Tabelle in JTable anzeigen - Probleme Datenbankprogrammierung 8
Gossi CallableStatement Probleme Datenbankprogrammierung 8
D Probleme bei der Erzeugung einer Tabelle Datenbankprogrammierung 15
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
R Derby/JavaDB Insert Statement Probleme Datenbankprogrammierung 14
L Derby/JavaDB Derby macht Probleme Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
M Probleme mit Triggering Datenbankprogrammierung 2
F DB2 Probleme mit dem DriverManager Datenbankprogrammierung 4
S Derby/JavaDB OpenJPA, @oneToMany und Probleme Datenbankprogrammierung 2
I MySQL Probleme mit kyrillischen Zeichen Datenbankprogrammierung 2
A Derby/JavaDB Probleme beim Einbinden Datenbankprogrammierung 2
S Probleme mit INSERT Befehl Datenbankprogrammierung 11
R isLast() Probleme bei Pervasive Datenbankprogrammierung 5
S Probleme mit localhost Datenbankprogrammierung 14
M Oracle Probleme mit dem anbinden einer Oracle 10g Datenbank Datenbankprogrammierung 27
J MySQL Hibernate: Probleme beim Speichern von OneToMany - Datensätzen Datenbankprogrammierung 2
P Hibernate -> Probleme bei n:m-Relation und JUnit Datenbankprogrammierung 10
J Probleme mit Datenbankzeiger Datenbankprogrammierung 19
A Probleme mit auf DB2 Express zugreiffen Datenbankprogrammierung 6
N Probleme beim Aufruf aus der DB Datenbankprogrammierung 7
M Probleme bei Select in Schleife Datenbankprogrammierung 7
R Probleme mit Insert Datenbankprogrammierung 2
P Probleme mit Oracle Timestamp Datenbankprogrammierung 3
klattiator Hibernate - Probleme bei Konfiguration Datenbankprogrammierung 3
F Probleme mit entfernter DB und Hibernate Zeichensatz Datenbankprogrammierung 3
G Probleme mit der Schnittstelle H1bernate/Eclipse Datenbankprogrammierung 6
A Probleme mit Jar-File in ein Jar-File Datenbankprogrammierung 8
O Derby Performance Probleme? Datenbankprogrammierung 4
V Probleme beim Öffnen "einiger" SuperbaseTabellen p Datenbankprogrammierung 8
G Probleme beim Methodenaufruf einer EJB Datenbankprogrammierung 10
ARadauer hibernate probleme Datenbankprogrammierung 13
Y Probleme mit H2 und Primary Key Datenbankprogrammierung 4
D Probleme mit mysql-Connection Datenbankprogrammierung 10
G INNODB backup probleme Datenbankprogrammierung 2
S Probleme mit statement.close() Datenbankprogrammierung 10
A Probleme beim Schreiben in eine CSV-Datei aus einer H2-DB Datenbankprogrammierung 2
G Probleme mit Laden des JDBC-Treiber in HSQLDB Datenbankprogrammierung 2
T Probleme mit Date in H2 Datenbank Datenbankprogrammierung 2
4 Probleme mit Select abfrage Datenbankprogrammierung 4
N Probleme mit Access-DB bei einem Webserver Datenbankprogrammierung 5
T Diverse JDBC Probleme (inner join, rs.last(), update) Datenbankprogrammierung 2
R Probleme mit Datensätzen in MySql DB Datenbankprogrammierung 3
B Oracle Driver Probleme Datenbankprogrammierung 2
I Probleme bei MySQL - Replikation Datenbankprogrammierung 2
R Probleme mit ausführbarem Jar Archiv Datenbankprogrammierung 9
F Probleme mit Jar Datei Datenbankprogrammierung 3
S String probleme Datenbankprogrammierung 3
R Probleme mit der Verbindung zum localhost Datenbankprogrammierung 12
S Probleme bei der Installation von MySQL 5.0 Datenbankprogrammierung 4
A Probleme mit ResultSet und getString(i) Datenbankprogrammierung 13
G Probleme mit Access und Join Datenbankprogrammierung 3
N Probleme mit "nur vorwärts gerichtete ResultSet" Datenbankprogrammierung 7
M Daten von MySQL nach MSSql probleme beim schreiben Datenbankprogrammierung 3
S JDBC-Anfänger und Probleme beim Treiberfinden etc. Datenbankprogrammierung 4
T Probleme beim Verbindungsaufbau zum SQL 2000 Datenbankprogrammierung 2
G Probleme mit Datenbankeinträge Datenbankprogrammierung 4
G Probleme mit Treiber (connector) Datenbankprogrammierung 20
thE_29 getBytes() - russland/bulgarien -- andere Codecs Probleme Datenbankprogrammierung 8
E Probleme mit JDBC und Executable-Jar Datenbankprogrammierung 2
G Probleme mit MySQL - Anmeldung Datenbankprogrammierung 2
P Probleme mit NullPointerException Datenbankprogrammierung 5
K MySQL: Probleme mit dem Verbinden per IP-Adresse Datenbankprogrammierung 6
T Probleme mit Datenbank Datenbankprogrammierung 6
pkm Frage zu Encodingproblem bei einer Datenbankanbindung Datenbankprogrammierung 1
L Speicherverbrauch Java Anwendung mit einer Datenbankanbindung Datenbankprogrammierung 19
A Bestmögliche Entkopplung der Datenbankanbindung Datenbankprogrammierung 6
J Derby/JavaDB Datenbankanbindung Eclipse und Derby Datenbankprogrammierung 7
M Java Datenbankanbindung funktioniert nicht Datenbankprogrammierung 4
T MySQL Problem mit Datenbankanbindung Datenbankprogrammierung 4
Z PostgreSQL Java Servlets mit Datenbankanbindung Datenbankprogrammierung 3
B Datenbankanbindung JSP Datenbankprogrammierung 7
B MySQL Problem mit Datenbankanbindung an MySQL Datenbankprogrammierung 2
R MySQL Voraussetzungen für eine erfolgreiche Datenbankanbindung mittels JDBC Datenbankprogrammierung 2
C Datenbankanbindung mit einem JButton Datenbankprogrammierung 12
M Servlet in JSP anbinden // Datenbankanbindung in JSP Datenbankprogrammierung 8
S MySQL Datenbankanbindung extra Klasse Datenbankprogrammierung 10
C Pokergame + Datenbankanbindung (Wahrscheinlichkeiten) Datenbankprogrammierung 16
A Datenbankanbindung an mySQL und Ein-/Auslesen der Daten Datenbankprogrammierung 4
A Datenbankanbindung, Grundlagen Datenbankprogrammierung 2
D Datenbankanbindung unter Linux Datenbankprogrammierung 10
D DAtenbankanbindung im OO-Aufbau Datenbankprogrammierung 5
M vorschläge bzgl. java programm mit datenbankanbindung Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben