0

我正在学习数据源,我想我已经开始理解它了,但是这一段我不明白。

据我所知,MySQL 和 PostgreSQL 等数据库供应商编写了他们自己的不同 DataSource 接口的实现。现在,这还不够吗?应用服务器应该提供 DataSource 实现是什么意思?这样做的原因是什么?

ConnectionPoolDataSource 的 PostgreSQL 实现。应用服务器或中间件供应商应提供利用此 ConnectionPoolDataSource 的 DataSource 实现。如果没有,您可以使用称为 PoolingDataSource 的 PostgreSQL 实现,但仅当您的服务器或中间件供应商不提供他们自己的时才应使用。为什么?服务器可能希望在同一事务中请求连接的所有 EJB 中重用相同的连接,或者提供其他类似的高级特性。

http://jdbc.postgresql.org/documentation/publicapi/org/postgresql/ds/PGConnectionPoolDataSource.html

4

1 回答 1

2

通常,webapp DataSource 将委托给 PostgreSQL 实现。这允许 webapp 中的监控和其他功能,如果您管理自己的数据源,这些功能将不可用。

于 2013-03-04T20:07:41.910 回答