Вопрос о пуле соединений Websphere Application Server 6.1 — что происходит, когда AS не удается установить соединение

Я изучил документ Websphere «Жизненный цикл подключения» для Websphere Application Server Express v6.1 и искал в Интернете ответ на следующий вопрос.

Состояние пула соединений

  1. Выбрано предварительное тестирование существующего соединения в пуле — интервал повтора равен нулю секунд.
  2. Выбрано предварительное тестирование новых подключений — количество попыток равно нулю, а интервал повторных попыток равен 0.
  3. Предварительная тестовая строка SQL: «Выберите «Hello» из двойного»

Что произойдет, если предварительный тест не пройден и

  1. Соединений в состоянии inFreePool или InUse нет?
  2. Есть соединения в состоянии inFreePool?

Я имею в виду настройки в разделе «Источники данных > источник_данных > Источник данных Websphere Application Server».


person Mark Glass    schedule 22.07.2009    source источник


Ответы (1)


приложение вызывает getConnection

  1. If there is a connection inFreePool then it is tested using pretest SQL string and handed to the application if it passes the test.
    1. If it fails the test the pool is purged according to the Purge policy.
      1. If the purge policy is EntirePool then the entire free pool is purged and a new connection is acquired and tested.
      2. Если политика очистки настроена на failingConnectionOnly, неудачное соединение отбрасывается, а другое соединение получается из пула и проверяется.
      3. Если в пуле нет соединений, создается и тестируется новое соединение. Если новое соединение завершается ошибкой, выдается исключение (тип?).

  2. Если в свободном пуле нет соединений, создается новое соединение, которое тестируется и передается приложению, если оно проходит проверку. Если новое соединение завершается неудачей, генерируется исключение.

person Mark Glass    schedule 23.07.2009