2017-02-02 14 views
0

У меня есть веб-приложение Java, которое использует Apache DBCP для подключения к Oracle DB. Соединение выполняется с помощью JNDI. В моем приложении мне нужно запустить запрос в базу данных, обработать результаты и затем сохранить обновления.
Проблема в том, что независимо от того, какие свойства я задал для параметров подключения db (maxWait, minEvictableIdleTimeMillis, testOnBorrow и т. Д. - я пробовал все из них с разными значениями), я всегда получаю обратно «закрытую связь», после aprox , 2,5 мин. Процесс I набора результатов велик, и выполнение занимает больше 2,5 минут, но даже если я делаю разбитый на страницы запрос, часто попадая в базу данных, я все равно получаю ту же ошибку. Еще одна странная вещь: независимо от того, какое значение я установил для размера пула соединений (с maxActive, maxIdle, initialSize), если я регистрирую максимальные физические открытые соединения, значение равно 1. У вас есть идеи, почему это происходит? Может ли это быть вызвано настройкой на стороне БД/сети?Oracle Connection closed

ответ

0

Это может произойти из-за нескольких проблем.

1) Все изменения, которые вы внесли, находятся на стороне клиента. Вы должны, вероятно, посмотреть и в других областях. 2) Проверьте настройки oracle/server side, такие как sqlnet.ora, и максимальное количество подключений/сеансов и процессов, разрешенных на уровне базы данных. 3) Проверьте, нет ли каких-либо настроек мягкого/жесткого брандмауэра, которые закрывают сеанс/соединение. Это может быть причиной того, что ваше «соединение закрыто».

Thanks Rahul

 Смежные вопросы

  • Нет связанных вопросов^_^