У нас есть пул соединений JDBC на weblogic 12c. Когда внутренняя база данных переходит в автономный режим, пул переходит в приостановленное состояние, а когда база данных возвращается в оперативный режим через короткий период времени (скажем, 5 минут), пул переходит в рабочее состояние. Это нормально, и я ожидал, что weblogic будет вести себя.
Но пару дней назад БД разбилась примерно на 30 минут, и когда БД снова в сети, пул всегда остается в приостановленном состоянии и никогда не возвращается в рабочее состояние. Приходится перезапускать пул вручную. Есть ли какие-то настройки, которые мы можем настроить для этого поведения? Наша тестовая частота составляет 600 секунд, а частота повторных попыток создания соединения - 0.
Как долго вы на самом деле ждете? Ваша конфигурация означает, что вы мог необходимо подождать до 10 минут, так как частота проверки установлена на 600 секунд (10 минут). Частота повторных попыток создания соединения связана со сценарием, в котором вы перезапустили weblogic во время отключения БД (или любой другой проблемы с подключением к БД), а источник данных не был создан во время запуска. Этот параметр сообщает weblogic частоту, с которой он будет повторять попытки создания соединения. С вашей конфигурацией источник данных действительно останется отключенным навсегда, но он не будет находиться в приостановленном состоянии, он даже не будет отображаться на вкладке мониторинга, потому что он не был инициализирован. И ваш управляемый сервер запустится в режиме ADMIN. Мне лично нравится устанавливать для этого параметра значение> 0 во всех моих источниках данных. В моем сценарии wlst по умолчанию я установил его на 300 секунд (5 минут).