В нашей базе данных разработки, Oracle 11g R2, мы заметили, что соединения, открытые через наше приложение Java, использующее BasicDataSource, остаются открытыми бесконечно долго.В идеале мы хотели бы, чтобы каждый экземпляр приложения имел до 5 одновременных сеансов базы данных, однако, если сеанс неактивен в течение более 60 секунд, сеанс должен быть закрыт, чтобы уменьшить влияние памяти на базу данных.
ИспользованиеВ следующем коде для настройки нашего BasicDataSource я могу заметить, что мы остаемся в пределах 5-дневного потолка сеансов, но, похоже, мы никогда не очищаем неактивные сеансы:
BasicDataSource ds = new BasicDataSource();
ds.setUrl(getUrlAsString());
ds.setDriverClassName("oracle.jdbc.driver.OracleDriver");
ds.setUsername(getClientOracleUserAsString());
ds.setPassword(getClientOraclePasswordAsString());
ds.setMinIdle(0);
ds.setMaxIdle(5);
ds.setMinEvictableIdleTimeMillis(60000);