Postgres Glassfish 池化

Posted

技术标签:

【中文标题】Postgres Glassfish 池化【英文标题】:Postgres Glassfish Pooling 【发布时间】:2014-02-07 17:31:44 【问题描述】:

有些教程说使用org.postgresql.ds.PGConnectionPoolDataSource,但有些说只使用org.postgresql.ds.PGSimpleDataSource...这两者有什么区别?

【问题讨论】:

【参考方案1】:

不同之处在于org.postgresql.ds.PGConnectionPoolDataSource 类实现了连接池,因此它可以提供一些性能优势。

根据文档:

Class PGSimpleDataSource

不执行连接池的简单数据源。为了 要使用 DataSource,您必须设置属性 databaseName。这 serverName、portNumber、用户和密码的设置是可选的。 注意:这些属性是在超类中声明的。

Class PGConnectionPoolDataSource

ConnectionPoolDataSource 的 PostgreSQL 实现。应用服务器 或中间件供应商应提供一个 DataSource 实现,该实现 利用此 ConnectionPoolDataSource。如果没有,您可以使用 PostgreSQL 实现称为 PoolingDataSource,但是 仅应在您的服务器或中间件供应商不提供的情况下使用 提供自己的。为什么?服务器可能希望重用相同的 跨所有请求连接的 EJB 的连接 交易,或提供其他类似的高级功能。

另见:

Connection Pooling with PostgreSQL JDBC

【讨论】:

以上是关于Postgres Glassfish 池化的主要内容,如果未能解决你的问题,请参考以下文章

GLAS/ICESAT-2 NASA 数据介绍

具有多个模式和用户的连接池 Postgres

在GlassFish中配置数据源连接池

GlassFish 5.0 - 不是有效的GlassFish Server安装

GlassFish 4 无法部署

如何处理网络中断和连接池