Okazuje się więc, że brakowało mi kluczowej linii, która włączała c3p0 (parametry c3p0, które poprawiałem, nie przynosiły żadnego efektu, ponieważ Hibernate używał swojej wbudowanej puli połączeń – co odpowiednio ostrzega, że nie nadaje się do produkcji). W hibernacji 2.x, ustawienie hibernate.c3p0.max_size
właściwość włączona zestawianie połączeń c3p0. Jednak w wersji 3.x musisz określić następującą właściwość --
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
Dodatkowo, oto moje ostateczne parametry konfiguracyjne --
<property name="hibernate.c3p0.min_size">3</property>
<property name="hibernate.c3p0.max_size">5</property>
<property name="hibernate.c3p0.timeout">1800</property>
<property name="hibernate.c3p0.idle_test_period">100</property> <!-- seconds -->
To raczej niefortunne, że zarówno Hibernate, jak i c3p0 mają fatalną dokumentację w tym zakresie.