Машина работает: Ubuntu Linux 5.3.0-62-generi c # 56 ~ 18.04.1-Ubuntu SMP psql 12.3 openjdk версия «11.0.7» 2020-04-14
Я пытаюсь настроить приложение Java для подключения к базе данных PostgreSQL. Я тщательно протестировал сторону базы данных и очень уверен, что проблема не на стороне базы данных. Я также пробовал использовать приложение, используя MariaDB, просто для устранения каких-либо проблем.
С другой стороны, я тестировал приложение с собственной встроенной базой данных Derby, которая, кажется, работает нормально. Каковы шансы, что я просто воспользуюсь этим, если не смогу решить эту проблему.
Однако, независимо от того, используете ли вы PostgreSQL или MariaDB (MySQL); Я получаю следующие ошибки:
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319)
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
ERROR: 11-Jul-2020 00:15:35: Connections could not be acquired from the underlying database!
ERROR: 11-Jul-2020 00:15:35: com.floreantpos.util.DatabaseConnectionException: org.hibernate.exception.GenericJDBCException: Cannot open connection
Я приложу полный журнал, так как он включает намного больше строк, однако я считаю, что проблема связана с этим PooledConnection и, возможно, отсутствует какая-то библиотека для Java или путь к библиотеке, чтобы приложение работало должным образом.
Может ли кто-нибудь указать мне общее направление.
Я достаточно знаком с Postgres и Mysql и имел опыт консультанта по БД внимательно следите за настройкой, которая, кажется, работает правильно.
Однако я не очень много знаю о Java или требованиях запускать такие программные соединения с локальными или удаленными серверами БД?
Подробнее ошибка, которая продолжает повторяться:
ERROR: 11-Jul-2020 15:15:46: could not get database metadata
java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:527)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at org.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:56)
at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:27)
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:127)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:314)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
at com.floreantpos.model.dao._RootDAO.reInitialize(_RootDAO.java:252)
at com.floreantpos.util.DatabaseUtil.initialize(DatabaseUtil.java:508)
at com.floreantpos.main.Application.initializeSystem(Application.java:160)
at com.floreantpos.main.Application.start(Application.java:136)
at com.floreantpos.main.Main.main(Main.java:58)
Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@3be4fcc0 -- timeout at awaitAvailable()
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1317)
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
... 11 more