Не могу открыть соединение - PullRequest
3 голосов
/ 20 июня 2011

Я разрабатываю приложение с очень большой нагрузкой (запрос). Я использовал следующие технологии в моем приложении:

  1. Jpa / Hibernate в качестве персистентного слоя
  2. Весна и Весна Дао
  3. C3p0 как пул соединений

Моя проблема: я запускаю свое приложение, когда количество запросов увеличивается, выдается исключение в персистентный слой, который "не может открыть соединение" Я увеличиваю сессию оракула, но моя проблема не решается Я не могу найти документ C3p0 и проверить его параметры, но моя проблема не решается.

Спасибо за внимание

Ответы [ 2 ]

3 голосов
/ 03 августа 2011

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

0 голосов
/ 03 августа 2011

Возможно ли опубликовать конфигурацию Spring для вашего источника данных. Я бы ожидал что-то вроде:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
  <property name="driverClass" value="oracle.jdbc.driver.OracleDriver"/>
  <property name="jdbcUrl" value="${jdbc.connection.url}"/>
  <property name="user" value="${jdbc.connection.username}"/>
  <property name="password" value="${jdbc.connection.password}"/>
  <property name="initialPoolSize" value="5"/> 
  <property name="minPoolSize" value="5"/>
  <property name="maxPoolSize" value="100"/>
</bean>

С другим настроенным компонентом, где источник данных передается по ссылке:

<bean id="mySampleDao" class="com.example.dao.MySampleDao">
  <property name="dataSource" ref="dataSource" />
</bean>

Это то, что у тебя есть?

Какую версию Oracle вы используете?

...