org.apache.commons.dbcp.SQLNestedException:无法获得连接,池错误等待空闲对象的超时

时间:2019-02-05 14:01:03

标签: connection-pooling derby apache-commons-dbcp

我们有一个用于嵌入式derby数据库的连接池。我们正在设置

  • 最长等待时间为5秒
  • 池100中的最大连接数

我们正在获取 org.apache.commons.dbcp.SQLNestedException:无法获得连接,池错误超时等待空闲对象非常频繁。发生此异常时,应用程序拥有的连接始终为1,这从日志中可以明显看出。

以上异常指出,池管理器无法与正在等待的请求者建立可行的连接,并且maxWait已通过,因此触发了超时。 参考:Cannot get a connection, pool error Timeout waiting for idle object in PutSQL?

有1个使用derby的应用程序,Derby数据库和2个其他应用程序。

根据我的理解,以下是无法建立连接的主要原因

  • 存在网络问题
  • 由于连接泄漏,连接池已用完
  • 由于长时间运行的查询,连接池已用尽

在我们的例子中,这是一个嵌入式derby数据库,对于应用程序而言是本地的。 因此,排除了网络问题。没有长期运行的查询。 我无法弄清楚是什么原因导致等待超时。可能与操作系统,文件系统,服务器利用率升高等有关吗?

感谢您的帮助。

0 个答案:

没有答案
相关问题