我有一个使用 C3P0 进行连接池的应用程序。它已经工作了很长时间了,但是最近我在尝试访问数据库时遇到了以下异常。
com.amazon.carbonado.FetchException: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@1bdc777 -- timeout at awaitAvailable()
谷歌搜索后,我发现这是由于 maxPoolSize 已用尽。我将池大小从 25 增加到 100 以检查是否是原因。它已暂时修复,但一段时间后我在尝试数据库连接时再次看到错误(当时没有任何其他数据库连接请求)。当我检查数据库的活动/非活动连接时,v$session 中只有 1 个来自机器的条目。然而我收到了这个错误。我不明白在哪里使用连接?
有人可以告诉我为什么会发生这种情况。另外 C3P0 中的 maxPoolSize 代表什么?是可以签出的数据库连接吗?
poolSize 是否也代表实际的 dbConnections ?