c3p0 с амазонкой Postgres RDS - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь подключиться к RDS с помощью c3p0, когда не используется RDS, код работает, но не работает с RDS, Чистая Java с DriverManager может создать соединение, заставляя меня поверить, что проблема с c3p0

connectionPool.setUser(user);
connectionPool.setPassword(password);
connectionPool.setJdbcUrl(jdbc);
try {
    Connection con = connectionPool.getConnection();//fails after several seconds
    con.isValid(1);
    con.close();
} catch (SQLException e) {
    e.printStackTrace();
}
try {
    Connection con = DriverManager.getConnection(jdbc, user, password);
    con.isValid(1);//true
    con.close();
} catch (SQLException e) {
    e.printStackTrace();
}

но c3p0 обвиняет postgres

java.sql.SQLException: Соединения не могут быть получены из базовой базы данных! на com.mchange.v2.sql.SqlUtils.toSQLException (SqlUtils.java:118) в com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection (C3P0PooledConnectionPool.java:692) в com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection (AbstractPoolBackedDataSource.java:140) в моем коде, строка "connectionPool.getConnection ()" Причина: com.mchange.v2.resourcepool.CannotAcquireResourceException: ResourcePool не удалось получить ресурс из его первичной фабрики или источника. в com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable (BasicResourcePool.java:1469) в com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource (BasicResourcePool.java:644) в com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource (BasicResourcePool.java:554) в com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse (C3P0PooledConnectionPool.java:758) в com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection (C3P0PooledConnectionPool.java:685) ... еще 13 Вызывается: org.postgresql.util.PSQLException: этот ResultSet закрыт. at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkClosed (AbstractJdbc2ResultSet.java:2852) at org.postgresql.jdbc2.AbstractJdbc2ResultSet.setFetchSize (AbstractJdbc2ResultSet.java:1875) в org.postgresql.jdbc4.Jdbc4Statement.createResultSet (Jdbc4Statement.java:37) at org.postgresql.jdbc2.AbstractJdbc2Statement $ StatementResultHandler.handleResultRows (AbstractJdbc2Statement.java:221) в org.postgresql.core.v3.QueryExecutorImpl.processResults (QueryExecutorImpl.java:1853) в org.postgresql.core.v3.QueryExecutorImpl.execute (QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute (AbstractJdbc2Statement.java:561) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags (AbstractJdbc2Statement.java:405) в org.postgresql.jdbc2.AbstractJdbc2Connection.execSQLUpdate (AbstractJdbc2Connection.java:382) at org.postgresql.jdbc2.AbstractJdbc2Connection.getTransactionIsolation (AbstractJdbc2Connection.java:904) в com.mchange.v2.c3p0.impl.NewPooledConnection. (NewPooledConnection.java:120) в com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection (WrapperConnectionPoolDataSource.java:240) в com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection (WrapperConnectionPoolDataSource.java:206) в com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool $ 1PooledConnectionResourcePoolManager.acquireResource (C3P0PooledConnectionPool.java:203) в com.mchange.v2.resourcepool.BasicResourcePool.doAcquire (BasicResourcePool.java:1138) в com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess (BasicResourcePool.java:1125) в com.mchange.v2.resourcepool.BasicResourcePool.access $ 700 (BasicResourcePool.java:44) в com.mchange.v2.resourcepool.BasicResourcePool $ ScatteredAcquireTask.run (BasicResourcePool.java:1870) в com.mchange.v2.async.ThreadPoolAsynchronousRunner $ PoolThread.run (ThreadPoolAsynchronousRunner.java:696) Blockquote

Я пытался использовать connectionPool.setDriverClass, это не помогло Я использую java11 и c3p0 из hibernate-c3p0 https://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0/5.4.2.Final, пытался обновить до последней бета-версии, это не помогло

...