Ich verwende eine datenbanklastige Java-Anwendung auf einem Cluster mit Connector/J 5.1.14. Daher habe ich bis zu 150 gleichzeitige Aufgaben, die auf dieselbe MySQL-Datenbank zugreifen. Ich erhalte den folgenden Fehler:MySQL mit Java: Verbindung nur öffnen, wenn möglich
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections
Das passiert, weil der Server nicht so viele Verbindungen verarbeiten kann. Ich kann nichts auf dem Datenbankserver ändern. Meine Frage ist also: Kann ich überprüfen, ob eine Verbindung möglich ist, BEVOR ich mich tatsächlich mit der Datenbank verbinde?
So etwas wie diese (Pseudocode):
check database for open connection slots
if (slot is free) {
Connection cn = DriverManager.getConnection(url, username, password);
}
else {
wait ...
}
Prost
Genau das, was ich gesucht habe, habe ich in eine While-Schleife eingebettet. Vielen Dank. –