ConnectionPool

class Configuration.ConnectionPool

Параметры пула sql-соединений.

Атрибуты:

attr maxActiveThreadCount Integer

Максимальное количество потоков, работающих с базой данных. Допустимые значения: от 0 до {maxPoolSize}. По умолчанию: 0. При значениях 0 и {maxPoolSize} ограничение на число потоков не устанавливается. Параметр влияет на вероятность возникновения взаимной блокировки пользовательских сессий.

Пример задачи, решаемый указанием данного параметра. Предположим, оптимальный максимум сессий БД {maxPoolSize}: 60. Если 500 пользователей войдут в систему, они могут захватить все 60 соединений с ДБ. При попытках начала автономных транзакций, сессии заблокируют друг друга, т.к. не смогут получить дополнительные соединения с БД. Во избежание данной ситуации, рекомендуется ограничить число пользователей одновременной работающих с БД. В данном примере, до 40. Таким образом 40 работающих пользователей будут иметь 20 соединений с ДБ для выполнения автономных транзакций. За счёт быстрого выполнения автономных транзакций, взаимные блокировки не будут возникать.

Added in version AS: 1.22.0-ms3

attr activeThreadTimeout Integer

Максимальное время ожидания потока для начала работы с базой данных, в секундах. Началом работы с базой считается момент получения первого соединения с базой. Запрос на получение второго соединения в этом же потоке будет считаться более приоритетным, чем получение первых соединений для других потоков.

Допустимые значения: от 0 до Integer#MAX_VALUE. По умолчанию: 10.

Added in version AS: 1.22.0-ms3

attr minPoolSize Integer

Минимальное число свободных соединений в пуле.

Значение по умолчанию: 2.

attr maxPoolSize Integer

Максимальное число соединений доступное для получения из пула.

Значение по умолчанию: 200.

При работе сервера приложений в режиме обучения и тестирования Edition.Student:

Значение по умолчанию: 20.

Максимальное значение: 20.

attr initialPoolSize Integer

Начальное число соединений, которые будут открыты при старте пула.

Значение по умолчанию: 2.

attr inactiveConnectionTimeout Integer

Время в течении которого сессия остаётся в пуле после освобождения, в секундах.

Значение по умолчанию: 60 секунд.

attr poolTimeout Integer

Максимальное время ожидания получения соединения из пула, в секундах.

Значение по умолчанию: 10 секунд.

attr maxIdle Integer

Максимальное количество свободных соединений, которое должно оставаться в пуле, если активен алгоритм вытеснения простаивающих соединений из пула. Алгоритм вытеснения активируется если выполнено одно из условий:

Значение по умолчанию: Configuration.Databases.Database.maxPoolSize.

Added in version AS: 1.22.0-ms3

attr maxAge Long

Максимальное время жизни соединения. Если, для соединения находящегося в пуле или возвращаемого в пул, интервал времени с момента открытия соединения превысит указанное значение, соединение будет переоткрыто.

Обратите внимание, что возраст простаивающих соединений будет проверяться только в том случае, если timeBetweenEvictionRunsMillis возвращает значение больше 0.

Значение по умолчанию: 0.

Added in version AS: 1.22.0-ms3

attr validationIntervalMills Long

Значение ограничивает частоту валидации соединений. Если соединение подлежит проверке, но уже было проверено ранее в течение этого интервала, оно не будет проверено повторно.

Значение по умолчанию: 3000 миллисекунд.

Added in version AS: 1.22.0-ms3

attr testOnBorrow Boolean

Свойство определяет, будут ли соединения проверяться при взятии из пула.

Значение по умолчанию: false.

Added in version AS: 1.22.0-ms3

attr testOnReturn Boolean

Свойство определяет, будут ли соединения проверяться после возвращения в пул.

Значение по умолчанию: true.

Added in version AS: 1.22.0-ms3

attr testOnConnect Boolean

Свойство определяет, будут ли соединения проверяться при открытии подключения к базе данных.

Значение по умолчанию: false.

Added in version AS: 1.22.0-ms3

attr testWhileIdle Boolean

Свойство определяет, будут ли соединения проверяться в течении их нахождения в пуле.

Значение по умолчанию: false.

Added in version AS: 1.22.0-ms3

attr timeBetweenEvictionRunsMillis Integer

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

Значение не должно быть установлено ниже 1 секунды.

Значение по умолчанию: 5000 миллисекунд

Added in version AS: 1.22.0-ms3

attr validationQuery String

SQL-запрос, который будет использоваться для проверки соединений из этого пула перед возвратом их вызывающей стороне или пулу. Если указано, этот запрос не должен возвращать никаких данных, он просто не должен выдать исключение SQLException.

Значение по умолчанию: null

Added in version AS: 1.22.0-ms3

attr validationQueryTimeout Integer

Тайм-аут выполнения запроса проверки соединения, в секундах.

Значение меньше или равное нулю отключит эту функцию.

Значение по умолчанию: -1

Added in version AS: 1.22.0-ms3

attr initSQL String

Пользовательский запрос, который будет выполняться при первом создании соединения. Этот запрос выполняется только один раз для каждого соединения, то есть при установке нового соединения с базой данных. Если это значение не равно нулю, оно заменит запрос проверки во время создания соединения.

Значение по умолчанию: null

Added in version AS: 1.22.0-ms3