我正在学习数据源,我想我已经开始理解它了,但是这一段我不明白。
据我所知,MySQL 和 PostgreSQL 等数据库供应商编写了他们自己的不同 DataSource 接口的实现。现在,这还不够吗?应用服务器应该提供 DataSource 实现是什么意思?这样做的原因是什么?
ConnectionPoolDataSource 的 PostgreSQL 实现。应用服务器或中间件供应商应提供利用此 ConnectionPoolDataSource 的 DataSource 实现。如果没有,您可以使用称为 PoolingDataSource 的 PostgreSQL 实现,但仅当您的服务器或中间件供应商不提供他们自己的时才应使用。为什么?服务器可能希望在同一事务中请求连接的所有 EJB 中重用相同的连接,或者提供其他类似的高级特性。
http://jdbc.postgresql.org/documentation/publicapi/org/postgresql/ds/PGConnectionPoolDataSource.html