Попытка подключиться из приложения с использованием C3P0 и последней версии драйвера Postgresql JDBC 9.4.1211.
Мы хотим, чтобы строка подключения была SSL и имела хэш-пароль MD5 для учетной записи пользователя:
c3p0 {
jdbcUrl = "jdbc:postgresql://myserver.rds.amazonaws.com/MyDatabase?ssl=true"
user = MyAccount
password = MyPassword
testConnectionOnCheckout = true
}
Сервер сгенерировал сертификаты SSL, которые указаны в группе параметров вместе с ssl = 1
.
Сертификат добавлен в JVM cacerts
Что мы получаем ошибку:
Вызвано: java.sql.SQLException: не удалось получить подключения из базовой базы данных! com.mchange.v2.sql.SqlUtils.toSQLException (SqlUtils.java:118) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection (C3P0Pcom.mchange.v2.c3p0.impl.AbstractPool
Мы можем использовать ту же учетную запись для успешного подключения через psql и pgadmin.
Обнаружил проблему, кажется, c3p0 удаляет ssl = true из строки подключения. Параметр ssl должен быть закодирован в объекте свойств для соединения.