Communications link failure

Einklang.

Bekanntes Mitglied
Hallo,

erhalte folgende Fehlermeldung:

Java:
Communications link failure

The last packet successfully received from the server was 262.359 milliseconds ago.  The last packet sent successfully to the server was 1 milliseconds ago.

Das ist aber unterschiedlich - grundsätzlich besteht die Verbindung, wird hier aber plötzlich abgebrochen. Vorher funktionierte das einwandfrei und ging sogar noch länger bzw hörte erst viel später auf wegs einer anderen Fehlermeldung die ich gerade prüfen wollte.

Nun ist die Frage was ich für eine sichere Verbindung machen kann?

Danke
 

tfa

Top Contributor
Zur Datenbank nehm ich an. Gibt es eine Root-Cause-Exception in der Exception (bzw. nextException())?
 

Einklang.

Bekanntes Mitglied
Einmal Serverdatenbank und einmal lokale Datenbank. Beides Mysql Datenbanken.
Wobei die Fehler meist bei der Verbindung zur lokalen Datenbank auftreten.

Wie gesagt nicht immer....... aber je mehr Datensätze umso anfälliger...!
Fehler treten sonst nicht auf, nur jetzt bei dieser Methode bei vielen Datensätzen, auch an unterschiedlichen Stellen, mal früher oder später.


Zur Datenbank nehm ich an. Gibt es eine Root-Cause-Exception in der Exception?

Hmm steht nur das dran was ich angegeben hab in der Fehlermeldung....!

Achja das ist der letzte Versuch:
The last packet successfully received from the server was 268.254 milliseconds ago. The last packet sent successfully to the server was 1 milliseconds ago.

Auffällig ist die 1 millisecond, die immer gleich bleibt! Evtl muss man hier etwas anderes mal angeben oder so - hab da was gelesen aber keine Ahnung davon :)!
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Das ist jetzt komplett ins Blaue hinein geraten, weil Deine Angaben wenig Schlüsse über das Fehlerszenario zulassen. Ich schreibs aber trotzdem mal, vielleicht erkennst du ja was wieder:
- Du hast eine Webanwendung mit Connection(s) zu einer Datenbank
- Du baust die Connections nur einmal auf und verwendest sie dann nur noch
- Entweder: Du hast längere Zeiten, in denen Deine Webanwendung keine Abfragen zur Datenbank sendet, weil einfach gerade keiner auf der Webanwendung rumsurft. Oder: Du verwendest einen Connection-Pool, bei dem es sein kann, dass eine spezifische Connection dieses Pools längere Zeit nicht verwendet wird.

Bei Oracle und MySQL weiß ich, dass der Server inaktive Connections von sich aus schließt (glaube standardmäßig nach 8h). Wenn Du über so eine geschlossene Connection versuchst, Abfragen zu senden, kommt es zu dem gezeigten Fehler. Lösung, prüfe vor jeder Abfrage, ob die Connection noch offen ist oder schreibe einen Thread, der über alle Connections gelegentlich eine Dummy-Abfrage zur DB sendet, damit diese sie nicht schließt. Wenn Du Connection-Pools oder Hibernate verwendest, kannst Du dies auch konfigurieren und musst nichts selbst implementieren.
 

Einklang.

Bekanntes Mitglied
Keine Webanwendung, sondern eine Entwicklung in Eclipse.... soll später mal ein normales Programm für den Desktop PC werden.

Ich rufe ein ResultSet von einer Server-Datenbank ab und schreibe dann diese Daten in eine lokale Datenbank. Dabei kommt es eben zur besagten Fehlermeldung!

Bisher hat bei der Methode für den Verbindungsaufbau immer alles funktioniert, daher nehm ich an, es sind die große Anzahl an Datensätzen weswegen die Fehlermeldung kommt....! Sozusagen eine Laufzeitüberschreitung, aber das ist eben nur meine Vermutung!
 
Zuletzt bearbeitet:

Ähnliche Java Themen


Oben