MySQLに接続する単純なJDBCアプリケーション(SpringまたはHibernateを使用しない)があります。本番環境では、MySQL接続はSSLを使用しますが、開発モードではSSLを使用しません。開発モードでは、データベースのURLに"&useSSL=false"
を追加して、"サーバーのID確認なしでSSL接続を確立することは推奨されていません"からログファイルがいっぱいになるのを防ぎます。Java、JDBC、C3P0を使用してMySQL SSL警告を取り除く
ここでC3P0を使用してデータベース接続プールを追加します。 DriverManager.getConnection
から接続する代わりに、POOL.getConnection()
と呼んでC3P0から接続します。
C3P0をセットアップするコードは非常に単純です:
POOL = new ComboPooledDataSource();
POOL.setDriverClass("com.mysql.cj.jdbc.Driver");
POOL.setJdbcUrl(DB_URL);
POOL.setUser(USER);
POOL.setPassword(PASSWORD);
問題は、これが動作しないということです。 DB_URL文字列に"&useSSL=false"
が含まれている場合は、POOL.getConnection()
がハングします。私はDB_URL
から"&useSSL=false"
を削除しましたが、すべてがうまくいきます。ただし、今はMySQL SSL警告が出ています。
C3P0を正しく設定してMySQL SSL警告を受け取らないように助言する人はいますか?
古い状況で同じドライバを使用していますか? c3p0は 'DriverManager.getConnection'も呼び出します。そうすれば、他の人もうまくいくはずです。古いコードの投稿も検討してください。 –
マーク - どちらの場合も、ドライバは同じです( "com.mysql.cj.jdbc.Driver")。 –