Самый надежный источник данных для производственной среды - PullRequest
1 голос
/ 15 ноября 2011

Я использовал DriverManagerDataSource для локального развития. В настоящее время я использую org.apache.commons.dbcp.BasicDataSource, потому что было создано слишком много соединений.

Есть ли у кого-нибудь предложения о том, как лучше всего настроить клиентскую базу данных в рабочих условиях с точки зрения пулов соединений?

Ответы [ 3 ]

0 голосов
/ 15 ноября 2011

Я обычно склоняюсь к C3P0 . Это всегда хорошо для меня. На самом деле не было проведено более глубокого анализа или сравнения, поскольку C3P0 всегда был «достаточно хорош» с точки зрения производительности и функциональности.

0 голосов
/ 13 сентября 2015

Да, я настоятельно рекомендую использовать объединенные источники данных для приложений, готовых к работе.

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

DriverManagerDataSource или Single-ConnectionDataSource предоставляет пул соединений, свойства конфигурации пула не устанавливаются.

Хотя SingleConnectionDataSource и DriverManagerDataSource великолепны для небольших приложений, работающих в процессе разработки, следует серьезно рассмотреть последствия использования любого из них в производственном приложении. Поскольку SingleConnection-DataSource имеет одно и только одно соединение с базой данных для работы, он не очень хорошо работает в многопоточном приложении. В то же время, несмотря на то, что DriverManager-DataSource поддерживает несколько потоков, требует затрат на создание нового соединения каждый раз, когда запрашивается соединение . Из-за этих ограничений я настоятельно рекомендую использовать объединенные источники данных.

Я показал пример конфигурации пула DataSource

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<propertyname="driverClassName"value="org.hsqldb.jdbcDriver"/>
<propertyname="url" value="jdbc:hsqldb:hsql://localhost/test"/>
<propertyname="username"value="sa"/>
<propertyname="password"value=""/>
<propertyname="initialSize"value="5"/>
<propertyname="maxActive"value="10"/>
</bean>
0 голосов
/ 15 ноября 2011

Взгляните на BoneCP , это довольно быстро.

Помимо всех примеров, есть FAQ , который даст вам очень краткий и приятный обзорпулов соединений, угловых случаев и того, как BoneCP обрабатывает их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...