Min_Size для c3p0 - PullRequest
       2

Min_Size для c3p0

2 голосов
/ 04 ноября 2011

Я занимаюсь разработкой веб-приложения (3 уровня).В настоящее время я использую Hibernate в качестве ORM и C3P0 в качестве механизма пула соединений.Просматривая свойства C3P0, он выглядит следующим образом:

Min_size: минимальное количество соединений JDBC в пуле.

Я понимаю, что это даст "n" нет соединений в любое время.Я не понимаю, означает ли это, что если n + 1 пользователи хотят получить доступ одновременно, зависнет ли система?Кроме того, есть ли какой-нибудь эталон того, как это (min_size) должно быть решено?

Спасибо

1 Ответ

1 голос
/ 04 ноября 2011

Максимальное количество подключений регулируется свойством maxPoolSize.

<property name="initialPoolSize"                     >2</property>
<property name="minPoolSize"                         >1</property>
<property name="maxPoolSize"                         >5</property>
<property name="acquireIncrement"                    >1</property>

Вышеприведенное обеспечивает пул с 2-мя подключениями для начала, с максимальным числом при 5 одновременных подключениях и добавлением 1 за один раз, когда естьнедостаточно, чтобы обойти.

Любой, кто придет после 5 одновременных в приведенном выше примере, будет ждать (зависать), пока соединение не станет доступным.На практике, если вы используете свой пул соединений правильно (возвращая соединения между вызовами SQL, не выполняйте слишком длинные запросы и т. Д.), Тогда это не проблема.Требуется знание профиля использования вашего приложения.

...