2014-02-07 82 views
1

一些教程說使用org.postgresql.ds.PGConnectionPoolDataSource,但也有人說,只是org.postgresql.ds.PGSimpleDataSource ...兩者有什麼區別?Postgres的Glassfish的池

回答

3

區別在於org.postgresql.ds.PGConnectionPoolDataSource類實現了連接池,因此它可以提供一些性能優勢。

根據文檔:

Class PGSimpleDataSource

簡單的數據源不執行連接池。爲了使用數據源 ,您必須設置屬性databaseName。 serverName,portNumber,用戶和密碼的 設置是可選的。 注意:這些屬性是在超類中聲明的。

Class PGConnectionPoolDataSource

的PostgreSQL實現的ConnectionPoolDataSource的。應用程序服務器 或中間件供應商應提供一個DataSource實現,該實現可利用此ConnectionPoolDataSource。如果沒有,你可以使用 稱爲PoolingDataSource PostgreSQL的實現,但 只應如果您的服務器或中間件廠商不 提供自己使用。爲什麼?服務器可能希望重複使用同一個 事務內的所有EJB之間的連接請求,或提供其他類似的高級功能。

參見: