JDBC连接池永远不会缩小

时间:2016-08-17 18:47:08

标签: postgresql jdbc connection-pooling

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

我在每个进程中使用PGPoolingDataSource作为数据库的连接池

每本请求都由本书处理 - 以

结尾
finally{
  connection.close();
}
主要问题: 1。

  1. 因为我做了大量的工作,我的连接速度很快 在开头的数据库(这是好的)但池永远不会 收缩。
  2. 我在代码中遇到一些异常,因为没有足够的连接,我希望我可以在请求时扩展超时 一个连接。
  3. 我的见解:

    1. 根据定义,PGPoolinDataSource永远不会缩小!我无法找到任何关于它的文档,但我认为情况确实如此。所以我尝试了apache DBCP池,我又遇到了同样的问题。

    2. 我认为在等待连接时必须超时 - 我猜这个超时可以配置,但我无法在两个池上找到这种配置。

    3. 我的问题:

      1. 为什么游泳池永远不会缩小?!
      2. 如何确定为每个池\进程分配的连接数(此处每个进程都有一个池)
      3. 如果我不关闭池(而不是连接)并且应用程序已关闭,那么池中的连接是否仍然存在会发生什么?当我更新我停止并启动它的应用程序时,这种情况会发生很多,所以我从不关闭池。
      4. 什么是一个好的JDBC连接池,最适合postgres,并且有一个选项来设置getConnection的超时?
      5. 由于

0 个答案:

没有答案