私は、Connector/J 5.1.14を使用してデータベースに重いJavaアプリケーションをクラスタで実行しています。したがって、同じMySQLデータベースにアクセスする最大150の同時タスクがあります。次のエラーが表示されます。MySQLとJava:可能であれば接続を開きます
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections
これは、サーバーが非常に多くの接続を処理できないためです。私はデータベースサーバー上の何かを変更することはできません。だから私の質問です:私は実際にデータベースに接続する前に接続が可能かどうかを確認することはできますか?
このような何か(擬似コード):より良い動作するはずのような
check database for open connection slots
if (slot is free) {
Connection cn = DriverManager.getConnection(url, username, password);
}
else {
wait ...
}
乾杯
私が探していたものとまったく同じですが、私はそれをwhileループに埋め込みました。ありがとうございました。 –