Как принудительно завершить DataSource и перезагрузить пул соединений?
Возможно ли принудительное прекращение tomcat-dbcp
пул соединений и какие-либо открытые соединения? И затем повторно инициализировать пул, повторно используя конфигурацию пула?
@Autowired
private org.apache.tomcat.jdbc.pool.DataSource ds;
ds.close(true);
//ds.open(); does not exists. how to reinitialize, without having to reconfigure the pool
1 ответ
Согласно исходному коду tomcat8-dbcp. После close(true)
из org.apache.tomcat.jdbc.pool.DataSourceProxy
вызывается переменная класса pool
сбросится до нуля. Но новый объект будет создан с использованием той же конфигурации, как только другие методы получат доступ к pool
переменная. Таким образом, вам не нужно повторно инициализировать источник данных.