2014-02-07 2 views
1

В некотором учебном пособии используется org.postgresql.ds.PGConnectionPoolDataSource, но некоторые говорят только org.postgresql.ds.PGSimpleDataSource ... в чем разница между ними?Postgres Glassfish Pooling

ответ

3

Разница в том, что класс org.postgresql.ds.PGConnectionPoolDataSource реализует Пул соединений, поэтому он может обеспечить некоторые преимущества в производительности.

Согласно документации:

Class PGSimpleDataSource

Простой DataSource, который не выполняет пулы соединений. Для того, чтобы использовать DataSource , вы должны установить свойство databaseName. Параметры для serverName, portNumber, user и password являются необязательными. Примечание: эти свойства объявлены в суперклассе.

Class PGConnectionPoolDataSource

реализация PostgreSQL из ConnectionPoolDataSource. Сервер приложений или поставщик промежуточного программного обеспечения должны предоставить реализацию DataSource, которая использует этот ConnectionPoolDataSource, который использует . Если нет, вы можете использовать реализацию PostgreSQL, известную как PoolingDataSource, но то, что следует использовать только в том случае, если ваш сервер или поставщик промежуточного программного обеспечения не предоставляют свои собственные. Зачем? Сервер может захотеть повторно использовать одно и то же соединение для всех EJB, запрашивающих соединение в рамках той же транзакции , или предоставить другие аналогичные расширенные функции.

Смотрите также: