Postgresql JDBC连接池从不收缩

Postgresql JDBC连接池从不收缩,postgresql,jdbc,connection-pooling,Postgresql,Jdbc,Connection Pooling,我同时运行3个进程,它们都使用相同的数据库(RDS postgres) 所有这些都是使用JDBC连接到数据库的java应用程序 我在每个进程中使用pgpoolgDataSource作为DB的连接池 每一个请求都由书来处理-以 finally{ connection.close(); } 主要问题: 一, 我很快就失去了联系,因为我做了大量的工作 在开始时使用DB(这是可以的),但池永远不会 收缩 我在代码中遇到一些异常,因为没有足够的连接,我希望在请求时可以扩展超时 联系 我的见解: 根据

我同时运行3个进程,它们都使用相同的数据库(RDS postgres) 所有这些都是使用JDBC连接到数据库的java应用程序

我在每个进程中使用
pgpoolgDataSource
作为DB的连接池

每一个请求都由书来处理-以

finally{
  connection.close();
}
主要问题: 一,

  • 我很快就失去了联系,因为我做了大量的工作 在开始时使用DB(这是可以的),但池永远不会 收缩
  • 我在代码中遇到一些异常,因为没有足够的连接,我希望在请求时可以扩展超时 联系
  • 我的见解:

  • 根据定义,
    pgpoolDataSource
    从不收缩!我找不到任何关于它的文档,但我想是这样的。因此,我尝试了ApacheDBCP池,再次遇到了同样的问题

  • 我认为在等待连接时一定会有超时-我想可以配置此超时,但在两个池上都找不到此配置

  • 我的问题是:

  • 为什么游泳池从不缩小
  • 如何确定为每个池\进程分配多少连接(此处每个进程有一个池)
  • 如果我不关闭池(而不是连接),并且应用程序已死亡,会发生什么?池上的连接是否仍处于活动状态?当我更新应用程序时,经常会发生这种情况,我会停止并启动它,这样我就不会关闭池
  • 什么样的JDBC连接池最适合postgres,并且可以选择设置getConnection的超时 谢谢