【发布时间】:2014-02-07 17:31:44
【问题描述】:
有些教程说使用org.postgresql.ds.PGConnectionPoolDataSource,但有些说只使用org.postgresql.ds.PGSimpleDataSource...这两者有什么区别?
【问题讨论】:
标签: postgresql glassfish connection-pooling
有些教程说使用org.postgresql.ds.PGConnectionPoolDataSource,但有些说只使用org.postgresql.ds.PGSimpleDataSource...这两者有什么区别?
【问题讨论】:
标签: postgresql glassfish connection-pooling
不同之处在于org.postgresql.ds.PGConnectionPoolDataSource 类实现了连接池,因此它可以提供一些性能优势。
根据文档:
不执行连接池的简单数据源。为了 要使用 DataSource,您必须设置属性 databaseName。这 serverName、portNumber、用户和密码的设置是可选的。 注意:这些属性是在超类中声明的。
Class PGConnectionPoolDataSource
ConnectionPoolDataSource 的 PostgreSQL 实现。应用服务器 或中间件供应商应提供一个 DataSource 实现,该实现 利用此 ConnectionPoolDataSource。如果没有,您可以使用 PostgreSQL 实现称为 PoolingDataSource,但是 仅应在您的服务器或中间件供应商不提供的情况下使用 提供自己的。为什么?服务器可能希望重用相同的 跨所有请求连接的 EJB 的连接 交易,或提供其他类似的高级功能。
另见:
【讨论】: