PostgreSQL JDBC为连接池提供了几个类。建议仅使用PGConnectionPoolDataSource
。如果接收到的连接正忙,则使用此类,然后库会创建另一个连接。
PGPoolingDataSource
(已调用setMaxConnections
)正在等待某个连接将变为空闲(如果所有连接都忙),这就是我想要的。但是这个类被标记为@Deprecated。
在源代码中我看到它使用PGPooledConnection
,那些人使用BaseDataSource
并且没有提及任何限制。
是否有任何正确的方法来限制池连接?
答案 0 :(得分:0)
您应该使用第三方连接池库,如HikariCP或DBCP,或者应用程序服务器附带的库(如果有)。
这也是PGPoolingDataSource
弃用说明中的文档(请参阅source on GitHub):
从42.0.0开始,你应该使用功能齐全的类而不是这个类 连接池,如HikariCP,vibur-dbcp,commons-dbcp,c3p0等。
类PGConnectionPoolDataSource
没有实现连接池,它被 连接池用作连接的工厂。