これはラップされた例外であり、あまり興味深いものではありません。それは根本的な原因です 根本的な原因について実際に私たちに何かを教えてくれる例外の。スタックトレースをもう少し見てください。 SQLException: Connection refused
に直面する可能性は非常に高いです。 またはSQLException: Connection timed out
。
これがあなたの場合にも当てはまる場合、考えられるすべての原因は次のとおりです。
- JDBCURLのIPアドレスまたはホスト名が間違っています。
- JDBCURLのホスト名はローカルDNSサーバーによって認識されません。
- JDBCURLにポート番号がないか間違っています。
- DBサーバーがダウンしています。
- DBサーバーはTCP/IP接続を受け入れません。
- JavaとDBの間にある何かが、接続をブロックしています。ファイアウォールまたはプロキシ。
どちらか一方を解決するには、次のアドバイスに従ってください。
-
ping
で確認してテストします 。 - DNSを更新するか、代わりにJDBCURLでIPアドレスを使用してください。
-
my.cnf
に基づいて確認してください MySQLDBの。 - 開始します。
- mysqldが
--skip-networking
なしで開始されているかどうかを確認します オプション。 - ファイアウォールを無効にするか、ファイアウォール/プロキシを構成してポートを許可/転送します。
ちなみに(実際の問題とは関係ありませんが)、必ずしもすべてのにJDBCドライバーをロードする必要はありません。 getConnection()
電話。起動時に1回だけで十分です。