我在服务器上安装了 Tomcat 和 PostgreSQL。我在尝试使用 c3p0 池从我的 servlet 连接到 PostgreSQL 数据库时遇到连接问题。
如果我在笔记本电脑上本地运行 Tomcat,我可以访问 DB。我也可以使用 psql(即命令行 sql 实用程序)从服务器连接到数据库。但是当我尝试将我的 servlet 部署到服务器并建立连接时,我收到以下错误:
java.sql.SQLException: Connections could not be acquired from the underlying database!
com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
...
com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319)
com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
我应该检查什么来定位问题?这应该是一个微不足道的问题,但可能是由于凌晨 4 点我遗漏了一些东西:) 提前致谢!
PS:允许从所有网络接口连接到数据库。PostgreSQL JDBC 驱动程序和 c3p0 池分布在 WAR 中。Tomcat 配置是非常默认的。不使用 JNDI。