BasicDataSource против DriverManagerDataSource.Что лучше для производства готового весенне-зимнего приложения? - PullRequest
0 голосов
/ 29 сентября 2018

Существует много классов реализации DataSource, таких как org.apache.commons.dbcp2.BasicDataSource, org.springframework.jdbc.datasource.DriverManagerDataSource.Как я могу решить (выбрать), какой из них использовать в моем приложении Spring-mvc + Hibernate ?

1 Ответ

0 голосов
/ 29 сентября 2018

Если вы просматриваете Документы

DriverManagerDataSource: Этот класс не является фактическим пулом соединений;на самом деле он не объединяет соединения.Он просто служит простой заменой полноценного пула соединений, реализуя тот же стандартный интерфейс, но создавая новые соединения при каждом вызове.

Полезно для тестовых или автономных сред

Вкл.С другой стороны, BasicDataSource DBCP предоставляет «реальный» пул соединений вне контейнера J2EE.BasicDataSource от Commons DBCP и ComboPooledDataSource для C3P0 являются компонентами полного пула соединений, поддерживающими те же базовые свойства, что и этот класс, а также определенные параметры (такие как минимальный / максимальный размер пула и т. Д.).

Так что, если вы разрабатываете тестовое приложение, тогда DriverManagerDataSource - это нормально, но для готовых к работе приложений необходимо использовать «реальный» пул соединений, т.е. C3p0 ComboPooledDataSource или DBCP BasicDataSource.

Ref: https://docs.spring.io/spring/docs/3.0.0.RC3/reference/html/ch12s03.html

...