如何限制Postgresql jdbc池连接数量?

时间:2017-11-16 16:24:58

标签: postgresql jdbc connection limit pool

PostgreSQL JDBC为连接池提供了几个类。建议仅使用PGConnectionPoolDataSource。如果接收到的连接正忙,则使用此类,然后库会创建另一个连接。

PGPoolingDataSource(已调用setMaxConnections)正在等待某个连接将变为空闲(如果所有连接都忙),这就是我想要的。但是这个类被标记为@Deprecated

在源代码中我看到它使用PGPooledConnection,那些人使用BaseDataSource并且没有提及任何限制。

是否有任何正确的方法来限制池连接?

1 个答案:

答案 0 :(得分:0)

您应该使用第三方连接池库,如HikariCPDBCP,或者应用程序服务器附带的库(如果有)。

这也是PGPoolingDataSource弃用说明中的文档(请参阅source on GitHub):

  

从42.0.0开始,你应该使用功能齐全的类而不是这个类   连接池,如HikariCP,vibur-dbcp,commons-dbcp,c3p0等。

PGConnectionPoolDataSource没有实现连接池,它被 连接池用作连接的工厂。