Сервер приложений Websphere 5.1 DataSource больше не действителен при перезагрузке БД - PullRequest
1 голос
/ 29 июля 2011

Прежде всего, мы запускаем веб-приложение Java, работающее на WAS 5.1. За этим мы используем базу данных Oracle. Проблема, с которой мы столкнулись, очень проста, но после нескольких часов поиска в Google я решил спросить вас.

У нас есть приложение, которое работает на WAS. Когда мы запускаем сервер, WAS устанавливает свой DataSource так, чтобы он указывал на базу данных. Все работает нормально, ожидайте, когда администраторы БД должны перезагрузить сервер базы данных. Когда они это сделают, источник данных больше не действителен, и мы должны вручную перезапустить весь сервер, и мы в настоящее время пытаемся исправить это, если это возможно. Нам нужно найти способ сделать это, потому что у нас есть 3 подготовительных среды для нашего приложения, и с ним связано два сервера: один для приложения, а другой - веб-служба генератора отчетов. Таким образом, когда администраторы БД хотят перезагрузить сервер (а они обычно не говорят нам!), Мы должны перезагрузить шесть серверов. Мне было интересно, есть ли в Java способ сброса источника данных, чтобы нам не нужно было перезапускать серверы.

Для вашей информации, WebSphere v5.1 и Oracle 9g с Java 1.4.2.17.

Мы также используем RAD:

Версия: 6.0.1 Идентификатор сборки: 20050725_1800

Ответы [ 2 ]

1 голос
/ 29 июля 2011

Вы должны настроить свой сервер приложений так, чтобы он всегда проверял соединение перед сдачей его в аренду клиенту. Я не очень хорошо знаком с Websphere, но в WebLogic вы можете установить выражение jdbc sql, например select 1, из dual, и контейнер удаляет устаревшие соединения из пула соединений.

Вот ссылка о том, как это сделать в Websphere

http://www -01.ibm.com / поддержка / docview.wss? UID = swg21439688

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

Исходя из того, что я прочитал из вашей заметки, вы должны получить исключение устаревшего соединения, так как WAS имеет устаревшие дескрипторы (в своем пуле) при перезапуске БД.

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

Принятие этого не позволит вам перезапустить серверы WAS.

В этом пространстве есть ряд ресурсов http://www -01.ibm.com / поддержка / docview.wss? UID = swg21063645

НТН

Manglu

...