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