Tomcat JDBC Pool - timeBetweenEvictionRunsMillis равно -1
Что происходит, когда timeBetweenEvictionRunsMillis из пула соединений JDBC Tomcat 8 имеет значение -1?
Вики-кот говорит, что это должно быть не менее 1 секунды:
timeBetweenEvictionRunsMillis - (int) Число спящих миллисекунд между запусками потока проверки / очистки неактивного соединения. Это значение не должно быть меньше 1 секунды. Он диктует, как часто мы проверяем наличие свободных, заброшенных соединений и как часто мы проверяем свободные соединения. Значение по умолчанию составляет 5000 (5 секунд).
1 ответ
Это эффект isPoolSweeperEnabled()
функция в пуле JDBC Tomcat 8. если значение меньше 0, оно не включит Pool Sweeper.
Очиститель пула включается, если включены какие-либо параметры, требующие асинхронного вмешательства в пуле. Boolean result = getTimeBetweenEvictionRunsMillis()>0
Это влияет на запросы, чтобы ограничить количество соединений, определенных в maxActive
максимальное количество соединений, которое должно храниться в пуле ожидания, если isPoolSweeperEnabled() возвращает false. Если If isPoolSweeperEnabled() возвращает true, то свободный пул может возрасти до getMaxActive() и будет сокращен в соответствии с getMinEvictableIdleTimeMillis()